php出现502错误的解决方法是:1、调高fastcgi进程个数;2、调高linux内核打开文件数量;3、编辑配置文件nginx.conf,调整脚本执行时间;4、增加缓存配置到nginx.conf配置文件中。
分析:
php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。
如何解决?
1、调高进程数
使用 netstat -napo |grep “php-fpm” | wc -l 查看一下当前 fastcgi 进程个数,如果个数接近 conf 里配置的上限,就需要调高进程数。
但也不能无休止调高,可以根据服务器内存情况,可以把 php-fpm 子进程数调到 100 或以上,在 4G 内存的服务器上 200 就可以。
2、调高 linux 内核打开文件数量
可以使用这些命令 ( 必须是 root 帐号 )echo ‘ulimit -HSn 65536’>> /etc/profile
echo ‘ulimit -HSn 65536’>> /etc/rc.local
source /etc/profile
3、调整脚本执行时间
如果脚本因为某种原因长时间等待不返回 ,导致新来的请求不能得到处理,可以适当调小如下配置。
nginx.conf 里面主要是如下:fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
php-fpm.conf 里如要是如下request_terminate_timeout =10s
4、增加缓存
修改或增加配置到 nginx.confproxy_buffer_size 64k;
proxy_buffers 512k;
proxy_busy_buffers_size 128k;
如果您需要学习更多知识,请访问php中文网。