在处事器安装了LNMP(Linux+Nginx+Mysql+php)情况之后Linux处事器参数必需做须要的优化,包罗网络参数优化、文件数优化、内存优化等等。
1、网络参数优化:
这部门主要参照张宴大家 《Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web处事器(第6版)[原创]》个中 五、优化Linux内核参数的内容:
vi /etc/sysctl.conf #编辑sysctl.conf文件 #在/etc/sysctl.conf中添加如下内容 # 网络参数优化开始 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 -p2、系统最大打开文件数优化
默认环境下,系统答允最大打开文件数为1024个,这对付会见量较大的web处事器来说远远不足用。系统最大打开文件数可以通过ulimit来修改和查询。
一般环境下,可以通过ulimit -n来查察今朝系统答允的最大打开文件数,譬喻 :
ulimit -n 1024 #系统返回假如我们要修改系统答允最大文件打开数,可以通过ulimit -SHn来做,譬喻要姑且修改系统最大打开文件数为51201个,那么用如下呼吁:
ulimit -SHn 51201每次重启系统时,该值会被自动还原,可以将上述呼吁写入 /etc/rc.local 中。假如想永久变动,可以凭据如下修改:
vi /etc/security/limits.conf # add * soft nofile 51201 * hard nofile 51201系统最大打开文件数影响到的设置文件(以下必需配置为系统配置相一致,譬喻配置系统最大打开文件数为:51201):
A、Nginx设置文件nginx.conf的设置项:worker_rlimit_nofile、worker_connections、open_file_cache等,譬喻配置为: worker_rlimit_nofile 51201; events { use epoll; worker_connections 51201; } http { #其它参数略过 open_file_cache max=51201 inactive=20s; open_file_cache_min_uses 1; open_file_cache_valid 30s; #其它参数略过 } B、FastCGI设置文件php-fpm.conf的设置项 <value name="rlimit_files">51201</value>3、系统共享内存优化:
系统共享内存巨细主要影响到eaccelerator的配置:
eaccelerator.shm_size="32"该项为eaccelerator可利用的共享内存巨细(单元为MB)配置。
在Linux下,单个历程的最大共享内存利用量受/proc/sys/kernel/shmmax中配置的数字限制(单元为字节),譬喻Redhat 4.7的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。
姑且变动该值(譬喻修改为128MB=128x1024x1024=134217728字节):
凭据以上要领变动,在每次重启系统时,该值会被自动还原。假如想永久变动,可以修改/etc/sysctl.conf文件,配置:
#系统共享内存巨细优化 kernel.shmmax = 134217728完整的/etc/sysctl.conf修改添加内容如下:
#在/etc/sysctl.conf中添加如下内容 # 网络参数优化开始 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 #网络参数优化竣事 #系统共享内存巨细优化开始 kernel.shmmax = 134217728 #系统共享内存巨细优化竣事 #添加内容竣事修改完成后运行以下呼吁使参数生效:
/sbin/sysctl -p以上,如有不敷,接待各人指正和追加,感谢!