位置: 编程技术 - 正文

freebsd6.2 nginx+php+mysql+zend系统优化防止ddos攻击

编辑:rootadmin

推荐整理分享freebsd6.2 nginx+php+mysql+zend系统优化防止ddos攻击,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

一、安装软件前的准备

系统的安装:插入freebsd6.2以上的光盘,最小化安装系统,同时安装好ports

二、手动安装nginx+php

1) 进入系统后,准备cvs更新:

1. cd /usr/ports/net/cvsup-without-gui

2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile

3. # vi /etc/ports-supfile

将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为

*default host=cvsup4.FreeBSDchina.org

4. 更新ports

/usr/local/bin/cvsup -g -L 2 /etc/ports-supfile

2) 安装mysql

#cd /usr/ports/databases/mysql-server

#make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean

#cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf ##mysql的优化参数,也可以手动修改

#rehash

# mysql_install_db --user=mysql ##初始化mysql

#/usr/local/bin/mysqld_safe & ##启动mysql

#/usr/local/bin/mysqladmin -u root password 'newpass' ##修改root密码,newpass是你需要改的密码

关闭mysql可以使用mysqladmin -uroot -p shutdown

3) 安装php

#cd /usr/ports/lang/php5

#make config ##配置编译参数

[X] CLI Build CLI version[X] CGI Build CGI version[ ] APACHE Build Apache module[ ] DEBUG Enable debug[X]] SUHOSIN Enable Suhosin protection system[X] MULTIBYTE Enable zend multibyte support[ ] IPV6 Enable ipv6 support[ ] REDIRECT Enable force-cgi-redirect support (CGI only)[ ] DISCARD Enable discard-path support (CGI only)[X] FASTCGI Enable fastcgi support (CGI only)[X] PATHINFO Enable path-info-check support (CGI only)#make install clean

# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini ##cp php.ini配置文件

4) 安装php5-extensions

# cd /usr/ports/lang/php5-extensions/

#make config

Options for php5-extensions 1.1-------------------------------------------------[X] CURL CURL support

[X] FTP FTP support[X] GD [X] GETTEXT[X] MBSTRING multibyte string support

[X] MCRYPT Encryption support [X] MYSQL

[X] PCRE Perl Compatible Regular Expression support[ ] POSIX //去掉.[ ] SQLITE //去掉.

[X] ZIP ZIP support[X] ZLIB# make install clean

5) 安装Zend Optimizer

#cd /usr/ports/devel/ZendOptimizer/

#make #不要安装,只需要下载解包

#cd /usr/ports/devel/ZendOptimizer/work/ZendOptimizer-*

#./install-tty ##会出现一个文字的安装界面,只是最后一步,不要选择apache就可以了

#vi /usr/local/etc/php.ini #插入zend的路径,一般来说,上面的安装会自动加入下面的文字,假如没有,请手动添加。

[Zend]

zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0

zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.0

zend_optimizer.version=3.3.0a

zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so

zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

小提示:安装zend,在freebsd下面,目前只有支持到php5.1.x,对于php5.2.x还不能支持,因为zend还没有为php5.2.x开发版本,在网上查了好多关于解决此类的问题,但得到的结果是,zend可以顺利安装,phpinfo也显示zend正常了,但程序无法调用,即zend没有工作,也就是目前无法解决,我想只有等到zend php5.2.x的版本后,才可以解决此问题,也希望哪位已经解决此类问题的兄弟,share一下你的经验。假如你非要使用zend,那就请你将php降到5.1.x,或者你不当心已经升级了ports,那建议你可以安装php4.x,毕竟目前php4.x还通用于大部分的环境

6) 安装nginx

#cd /usr/ports/www/nginx/

#make install

7) 安装lighttpd,为了得到fastcgi

# cd /usr/ports/www/lighttpd/

#make install

#rehash

8) 配置nginx

#user nobody删除前面的注释#,改成 user www

#log_format main '$remote_addr - $remote_user [$time_local] '

# '"$request" $status $body_bytes_sent '

# '"$http_referer" "$http_user_agent"';

log_format main '$remote_addr - $remote_user [$time_local] '

'"$request" $status $body_bytes_sent '

'"$http_referer" "$http_user_agent"';

##以上步骤,为了能够正常分析log的pv,hits,访问量,才设定的,默认的log格式,是无法准确分析出所需要的结果

location / { root /usr/local/www/nginx; index index.html index.htm;}在index.html前面添加一个index.phplocation / { root /data/web/www.jk.com/htdocs; index index.php index.html index.htm;}

#location ~ .php$ {# fastcgi_pass .0.0.1:;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script.name;# include fastcgi_params;#}将前面的#去掉,修改为location ~ .php$ { fastcgi_pass .0.0.1:; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/etc/nginx$fastcgi_script.name; include fastcgi_params;}##去掉注释,其实就是激活了nginx的fastcgi功能,也说明了nginx本身就已经准备用于fastcgi的环境中

9) 配置spawn-fcgi,就是一个启动fastcgi命令,使得nginx可以通过端口访问(纯粹个人理解-_-)

参数说明:****.0.0.1的端口,进程数为(如果服务器内存小于3GB,可以只开启个进程),用户为www

/usr/local/bin/spawn-fcgi -a .0.0.1 -p -u www -g www -C -f /usr/local/bin/php-cgi

) 这边请注意启动顺序,先启动fastcgi,再启动nginx

Nginx.conf由于经常需要修改,即经常需要重启nginx,因此这边写了一个启动脚本,请查看:

#!/usr/local/bin/bash

case $1 in

start)

/usr/local/sbin/nginx

;;

stop)

killall -9 nginx

;;

test)

nginx -t -c /usr/local/etc/nginx/nginx.conf

;;

restart)

ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP

;;

show)

ps -aux|grep nginx

;;

esac

保存为nginx.sh使用方法为:

nginx.sh start #启动nginx

nginx.sh stop #停止nginx

nginx.sh restart #重启nginx

freebsd6.2 nginx+php+mysql+zend系统优化防止ddos攻击

nginx.sh test #测试nginx.conf的准确性

) 安装phpMyAdmin

#cd /usr/ports/databases/phpmyadmin

#make install

#mv /usr/local/www/phpmyadmin /data/web/ www.jk.com/htdocs/

#cd /data/web/www.jk.com/htdocs/phpmyadmin

#vi config.inc.php ##这边要说明一下,freebsd默认安装的phpmyadmin,里面配置文件有问题,需要手动修改,请修改成如下内容:

<?php

/* $Id: config.sample.inc.php -- ::Z nijel $ */

// vim: expandtab sw=4 ts=4 sts=4:

/**

* phpMyAdmin sample configuration, you can use it as base for

* manual configuration. For easier setup you can use scripts/setup.php

*

* All directives are explained in Documentation.html and on phpMyAdmin

* wiki < */

/*

* This is needed for cookie based authentication to encrypt password in

* cookie

*/

$cfg['blowfish_secret'] = 'asdf:LKJ'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/*

* Servers configuration

*/

$i = 0;

/*

* First server

*/

$i++;

/* Authentication type */

$cfg['Servers'][$i]['auth_type'] = 'cookie';

/* Server parameters */

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['connect_type'] = 'tcp';

$cfg['Servers'][$i]['compress'] = false;

/* Select mysqli if your server has it */

$cfg['Servers'][$i]['extension'] = 'mysql';

/* User for advanced features */

// $cfg['Servers'][$i]['controluser'] = 'pam';

// $cfg['Servers'][$i]['controlpass'] = 'pampasswd';

/* Advanced phpMyAdmin features */

// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';

// $cfg['Servers'][$i]['relation'] = 'pma_relation';

// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';

// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';

// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';

// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';

// $cfg['Servers'][$i]['history'] = 'pma_history';

// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

/*

* End of servers configuration

*/

/*

* Directories for saving/loading files from server

*/

$cfg['UploadDir'] = '';

$cfg['SaveDir'] = '';

?>

以上只是一个配置文件,当你打开Phpmyadmin的时候,会提示你输入用户名密码,然后登陆数据库,相对比较安全的

三、系统优化+防止ddos

1) 这个话题有点大,我相信我做的只是其中很小的一部分,同时很多人也会问我,是不是要编译内核,这边的回答是不需要编译任何内核,只需要copy文件,然后重启一下服务器就可以了。

2) 加载文件修改

# vi /boot/loader.conf #加入如下文本

kern.dfldsiz="" # Set the initial data size limit

kern.maxdsiz="" # Set the max data size

kern.ipc.nmbclusters="0" # Set the number of mbuf clusters

kern.ipc.nsfbufs="" # Set the number of sendfile(2) bufs

##解释:

a. 第一,第二行主要是为了突破1G内存设置的

b. 第三行其实是bsd的一个bug,当系统并发达到一个数量级的时候,系统会crash,这个是非常糟糕的事情,所幸更改了这个参数后,在高并发的时候,基本可以没有类似情况,当然非常bt的情况,还得进一步想办法

c. 第四行是读取的文件数,如果你下载的文件比较大,且比较多,加大这个参数,是非常爽的

3) Sysctl修改

#vi /etc/rc.local

sysctl kern.ipc.maxsockets= ##增加并发的socket,对于ddos很有用

sysctl kern.ipc.somaxconn= ##打开文件数

sysctl net.inet.tcp.msl= ##timeout时间

4) 通过上述的简单优化,会给你带来意外的惊喜,如果有兴趣的兄弟,可以尝试一下看看,绝无副作用。

四、其他

1) 加速ports安装

#vi /etc/make.conf ##加入如下

MASTER_SITE_OVERRIDE?= Freebsd颜色显示

secureCRT设置:仿真:终端->linux>勾选ANSI颜色-->确定

#vi /etc/csh.cshrc ##加入如下

setenv LSCOLORS ExGxFxdxCxegedabagExEx

setenv CLICOLOR yes

#cd /usr/ports/edit/vim;make install

#echo "syntax on">/root/.vimrc

#echo "alias vi vim" >>/root/.cshrc

##颜色主要是靠vim来显示的,因此需要安装vim,然后把vi alias成vim就可以了

3) Other。。。。。。。。更新中

FreeBSD5.2.1上建立功能完整的邮件服务器(POSTFIX) 1.更新ports#cvsup-gL2-hcvsup.freebsdchina.org/usr/share/examples/cvsup/ports-supfile2.安装openssl+apache服务器#cd/usr/ports/security/openssl#makeinstall#makeclean#cd/usr/ports/www/apache2#mak

FreeBSD学习经验 1、进入单用户模式BOOT:/kernel-s就进了单用户了,然后/sbin/mount-rw/把/设置成可写然后vipw把root口令置空2、开机自动fsck硬盘fsck_y_enable=YES3、FreeBSD弹出光驱cdco

FREEBSD系统优化精华 1、优化内核mkdir/usr/kerncp/usr/src/sys/i/conf/GENERIC/usr/kern/proxyln-s/usr/kern/proxy/usr/src/sys/i/conf/proxycd/sys/i/confeeproxyoptionsIPFILTER#ipfiltersupportoptionsIPFILTER_LOG#ip

标签: freebsd6.2 nginx+php+mysql+zend系统优化防止ddos攻击

本文链接地址:https://www.jiuchutong.com/biancheng/353954.html 转载请保留说明!

上一篇:Freebsd7.0 Apache2.2+MySQL5+PHP5安装和配置方法

下一篇:FreeBSD5.2.1上建立功能完整的邮件服务器(POSTFIX)(freebsd怎么安装)

  • 城市公交算国企吗
  • 装修行业小规模纳税人标准
  • 中国注册税务师考试时间
  • 从租计征房产税低于从价计征房产税
  • 计提所得税会计处理
  • 平台怎么搞
  • 全年没有超过起征点需要汇算吗
  • 物流托运不给发货怎么办
  • 发票打印格式错误
  • 转让财产收入征税吗
  • 小规模纳税人和个体工商户的税收政策
  • 劳务报酬所得如何计税
  • 报销退回多余款项怎么开收据
  • 电信线路租用的手机
  • 土地流转承包费拖欠
  • 月末计算各种税费表格模版
  • 电子承兑汇票能转让给个人吗
  • 建安企业预缴个税怎么算
  • 购买材料,材料未验收入库,货款未付会计分录
  • 无租使用房产怎么缴纳房产税土地税
  • 增值税可以提前申报不?
  • 保险企业准备金是什么
  • 护建设税和教育费附加?
  • 费用开两次发票怎么入账?
  • 三栏式明细账目录填写范本
  • 发票认证如何认证
  • 汇算清缴无形资产摊销填哪里
  • 产品销售核算会计分录
  • 企业受赠业务的法律规定
  • 外销收入申报表怎么填
  • mac 查看当前用户
  • 货币资金属于
  • vue修改父组件的值
  • php自定义变量的方法是
  • 破解版微擎框架如何升级
  • 境外企业在境内投资是否备案
  • 银行手续费必须有发票才能入账吗
  • 十年磨一剑的下一句幽默
  • 企业投资一个小时多少钱
  • 固定资产以什么资金形态存在
  • sql server 2008使用教程
  • 购货方收到销售折扣发票怎么入账
  • 工程项目辅材占比
  • 工程分包合同协议书
  • 纳税人防伪税控设备未抄报怎么办
  • 折旧与摊销会计分录
  • 什么叫转让财产收入
  • 个人工资税收怎么计算年收入
  • 创业带动就业补贴是给企业的还是员工的
  • 出差在火车上算上班吗
  • 无偿使用期限
  • 不征税发票和零税率发票
  • 购买空调做账分录
  • 代办旅行社经营许可证
  • cmos是一种什么芯片
  • Ubuntu 15.04系统怎么安装Visual Studio Code 2015?
  • ati2mdxx.exe是什么进程 ati2mdxx进程信息查询
  • xp系统远程桌面怎么设置
  • wind8系统怎么清除所有东西 恢复出厂
  • windows7命名规则
  • linux系统ll
  • Win7电脑开机桌面黑屏只有鼠标
  • win8 设置
  • win10怎么分屏操作
  • Win10年度升级版将正式提供暗黑主题 未自定义颜色都会变暗
  • Cocos2dx3.2 Crazy Tetris update 定时更新 游戏逻辑处理
  • unity3d教学视频
  • 安装两个linux
  • js中date
  • python并发原理
  • javascript面向对象编程指南
  • python 判断中文字符
  • 深圳市福田区税务局电话
  • 贵阳税务局领导
  • 建筑行业增值税税收优惠政策
  • 税控盘离线开票金额为零怎么办
  • 厦门税务局发票查询系统
  • 社保每个月都要交吗,不交了会怎么样
  • 江苏税务实名认证怎么更改
  • 北京税务局代个人开发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设