访问网站出现 502 Bad Gateway,表示 Nginx 等前端代理无法从后端服务(PHP-FPM、Node、Tomcat 等)获得有效响应。问题几乎都在后端服务上,而非网络。
可能原因
- 后端服务(php-fpm、应用进程)崩溃或未启动;
- 后端监听地址/端口与 Nginx 配置不一致;
- 后端因内存不足(OOM)被杀;
- 后端执行超时或卡死。
排查步骤
- 先看 Nginx 错误日志确定后端类型与失败原因:
tail -n 50 /var/log/nginx/error.log
journalctl -u nginx --no-pager | tail -n 30
- 检查后端服务状态并尝试重启:
systemctl status php-fpm
systemctl restart php-fpm
# Node 应用
pm2 status
- 确认 Nginx 配置中的 proxy_pass 或 fastcgi_pass 地址、端口、socket 路径与后端实际监听一致:
ss -tlnp | grep 9000。 - 若频繁 502,检查是否 OOM:
dmesg | grep -i "killed process",内存不足请参考「内存不足 OOM 导致进程被杀」一文。 - 检查磁盘是否占满导致后端写日志失败:
df -h。
提示:重启后短暂恢复、过一段时间又 502,通常是后端内存泄漏或请求堆积,需从程序层面排查。
仍未解决
请通过「支持服务 → 工单」反馈,附上 Nginx 错误日志、后端服务状态输出、近期是否修改过程序或配置,便于快速定位。