站点配置:宝塔 7.x / Nginx 1.22 / PHP 8.1 / MySQL 5.7,2核4G 服务器。现象是访问间歇性 502,重启 PHP-FPM 能好一阵,几小时后又复发。
已排查项
- 内存负载正常(free 查看有余量,load < 1)
- MySQL 慢查询日志无异常
- Nginx error.log 显示 upstream premature closed connection
求助方向
- PHP-FPM 进程模式 static/dynamic 怎么选,pm.max_children 设多少合适?
- 有没有可能是 OOM killer 在杀 PHP-FPM 子进程?
- 宝塔的 PHP 进程管理有没有已知坑?
有踩过同样坑的老哥请给个排查思路,或者直接甩配置参考,感谢!
如果你在宝塔面板中设置了错误的代理,也可能导致502错误,要小心检查。
排查Nginx 502 Bad Gateway时,别忘了检查防火墙设置哦。
关于PHP-FPM崩溃的问题,我在宝塔面板的设置中找到了解决方法,希望对你有帮助。
我也有过类似的经历,最后发现是OOM killer在捣鬼,你试试调整内存限制吧。
这是关于宝塔Nginx 502 Bad Gateway的问题,我遇到了类似的状况,你可以尝试检查pm.max_children的配置。