2010-04-23安装LNMP后的相关配置优化
2010年04月23日 星期五 下午 12:11

1、配置开机自动启动Nginx + PHP
vim /etc/rc.local

/home/mysql/mysql start
ulimit -SHn 65535
/usr/local/webserver/php/sbin/php-fpm start
/usr/local/webserver/nginx/sbin/nginx

2、优化Linux内核参数
vi /etc/sysctl.conf
末尾加上
# Add
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog =  32768
net.core.somaxconn = 32768

net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_len = 1
net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800

#net.ipv4.tcp_fin_timeout = 30
#net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range = 1024  65535

立刻生效刚才所配置的
/sbin/sysctl -p



3、在不停止Nginx服务的情况下平滑变更Nginx配置
改了/usr/local/webserver/nginx/conf/nginx.conf
用这个命令测试
/usr/local/webserver/nginx/sbin/nginx -t

出现
如果屏幕显示以下两行信息,说明配置文件正确:
the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully
代表配置没有任何问题,可以放心开始执行

4、平滑重启NGINX
/usr/local/webserver/nginx/sbin/nginx -s reload

5、编写每天定时切割Nginx日志的脚本
vi /usr/local/webserver/nginx/sbin/cut_nginx_log.sh

#!/bin/bash
# This script run at 00:00

# The Nginx logs path
logs_path="/usr/local/webserver/nginx/logs/"

mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/webserver/nginx/nginx.pid`
添加到定时任务中去