淘先锋技术网

首页 1 2 3 4 5 6 7

网站原来运行正常,突然出现 “502 Bad Gateway”页面,可能因为phpcgi进程不够用而造成502,一般php-cgi默认进程是5个,不够则需要修改/usr/local/php/etc/php-fpm.conf文件。

1、先查看php fastcgi的进程数,及max_children的值。

执行命令

netstat -anop | grep php-cgi | wc -l

netstat -anpo | grep php-fpm | wc -l

2、查看当前程有多少个。

执行命令

ps aux | grep php-fpm

观察fastcgi、php-fpm进程数,如果等于或高于5个就需要增加。

3、编辑/usr/local/php/etc/php-fpm.conf文件

把max_children值适当增加,如果php是5.3.*以上且使用的是dynamic模式,需要把pm.min_spare_servers和pm.max_spare_servers的值也适当增加。

提示:最大值可以按内存xxMB/2/20的整数来算(内存以MB为单位进行计算,/ 为除,取整数),最小值可以按内存/2/40 的整数来算,可以少点或多大,可以自己调整运行看看,同时pm.max_children也调整为和pm.max_spare_servers的值一样。

dynamic模式修改后的值

pm = dynamic

pm.max_children = 10

pm.start_servers = 2

pm.min_spare_servers = 2

pm.max_spare_servers = 10

保存文件后,执行命令

/etc/init.d/php-fpm reload

问题解决。