- 积分
- 87
- 威望
-
- 金钱
-
- 注册时间
- 2011-10-10
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
服务器配置其实还是不错的。e3-1231-v3,16G内存。但是12月底开始频繁502,另外,lnmp的502自动重启脚本也没用。
本来想找军哥付费解决,但是军哥一直不在线,后来淘宝找了个兄弟。
优化了很多地方,我直接贴出来,与大家分享,也希望军哥指正,另外502脚本没用的原因其实很简单,脚本里的域名我没改成自己的……- Sock通信方式当打开文件数超多的时候,稳定性不好。改成用9000端口通信方式:
- /usr/local/php/etc/php-fpm.conf 里面修改
- <value name="listen_address">/tmp/php-cgi.sock</value>
- 为
- <value name="listen_address">127.0.0.1:9000</value>
- 增加php进程,可以降低单个进程承担的资源压力:
- <value name="max_children">5</value> 默认的5
- 改成
- <value name="max_children">64</value>
- Php-fpm.conf 里面原先设置的进程驻留方式(pm)是static也就是固定数量的进程,且进程不退出,就不释放资源。就有积累打开的句柄的风险。将php-fpm.conf 里面的 pm方式改成改成apache管理模式,使得php进程定期退出和启动新进程,释放资源。
- 宗上, 这个php-fpm.conf 总的修改如下(<的行代表旧配置,>的行代表修改后的配置):
- diff /usr/local/php/etc/php-fpm.conf.old.2017-01-13 /usr/local/php/etc/php-fpm.conf
- 26c26
- < <value name="listen_address">/tmp/php-cgi.sock</value>
- ---
- > <value name="listen_address">127.0.0.1:9000</value>
- 50c50
- < <value name="style">static</value>
- ---
- > <value name="style">apache-like</value>
- 55c55
- < <value name="max_children">5</value>
- ---
- > <value name="max_children">64</value> ;增加php服务进程的数量
- 79c79
- < <value name="rlimit_files">51200</value>
- ---
- > <value name="rlimit_files">65535</value> ;提高允许打开的文件句柄数量
- 81c81
- < <value name="rlimit_core">0</value>
- ---
- > <value name="rlimit_core">65535</value>
- 93c93
- < <value name="max_requests">10240</value>;由于访问量大,10240小了会进程退出太频繁,pm切换管理压力大,所以增大这个数字。
- ---
- > <value name="max_requests">40960</value> ;定量请求后让进程退出和启动新进程
- 优化系统最大打开文件数限制:
- 【系统参数优化 sysctl】:
- # diff /etc/sysctl.conf.old /etc/sysctl.conf
- 41,43c41,57
- < fs.file-max=65535
- < fs.file-max=65535
- < fs.file-max=65535
- ---
- > #fs.file-max=65535
- > #fs.file-max=65535
- > fs.file-max=70000 #增大系统最大允许的文件句柄数(超过65535)
- > net.ipv4.tcp_max_tw_buckets = 6000 #以下这些都是优化网络行为
- > net.ipv4.ip_local_port_range = 1024 65000
- > net.ipv4.tcp_tw_recycle = 1
- > net.ipv4.tcp_tw_reuse = 1
- > net.ipv4.tcp_syncookies = 1
- > net.core.somaxconn = 262144
- > net.core.netdev_max_backlog = 262144
- > net.ipv4.tcp_max_orphans = 262144
- > net.ipv4.tcp_max_syn_backlog = 262144
- > net.ipv4.tcp_synack_retries = 1
- > net.ipv4.tcp_syn_retries = 1
- > net.ipv4.tcp_fin_timeout = 30
- > net.ipv4.tcp_keepalive_time = 1200
- > net.ipv4.tcp_orphan_retries = 2
复制代码 |
|