nginx+php-fpm出现502 bad gateway错误解决方法

目录

502 错误常见原因及解决方法整理:

php-fpm 进程数不够

检查当前 fastcgi 进程个数:

netstat -napo | grep "php-fpm" | wc -l

如接近上限需要调高进程数。根据服务器内存情况,4G 内存可配置 200 个子进程。

提高 Linux 打开文件数量

echo 'ulimit -HSn 65536' >> /etc/profile
echo 'ulimit -HSn 65536' >> /etc/rc.local
source /etc/profile

脚本执行超时

在 nginx.conf 中调整:

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

在 php-fpm.conf 中调整:

request_terminate_timeout = 10s

建议设置为 0,避免 php-fpm 直接杀掉进程导致前端返回 104 错误,影响体验。

缓存设置

在 nginx.conf 中增加或修改:

proxy_buffer_size 64k;
proxy_buffers 512k;
proxy_busy_buffers_size 128k;

Connection reset by peer 错误

程序层面要设置好超时,gethostbyname、curl、file_get_contents 等函数都要设置超时时间。如使用多说评论,过多会影响响应速度,可考虑关闭。

#nginx #php