Nginx 502 Bad Gateway 错误快速排查与解决指南

什么是502 Bad Gateway?

502错误其实就是Nginx作为反向代理服务器,没从后端服务器(比如PHP-FPM、Node.js、Tomcat等)拿到有效响应。打个比方,咱一家电子外贸企业的官网,Nginx像前台接待,后端服务是仓库,502就是前台问仓库货物情况,仓库不给回应,客户只能等着。

外贸建站技术

502 Bad Gateway常见排查步骤

1. 检查后端服务是否正常运行

502最常见原因就是后端服务挂了。比如机械设备外贸网站,后台用PHP-FPM处理订单,PHP-FPM崩了,Nginx那边就报502。

  • ps aux | grep php-fpm 看服务进程有没有挂。
  • 或者用 systemctl status php-fpm 查看状态。
  • Node.js或其他服务,确保它们在监听对应端口。

2. 确认Nginx配置中的后端地址正确

配置文件里,Nginx怎么找后端服务很关键。举个家具外贸网站,配置写成了127.0.0.2:9000,而实际后端在127.0.0.1:9000,就会502。

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    ...
}

确认端口和IP没写错。

3. 查看后端服务日志

化工原料外贸系统遇到502,后台日志显示“连接超时”或“内存溢出”,说明服务压力大或者配置不合理。看看日志是最快的线索。

4. 调整超时和缓冲区设置

当订单量激增,玩具外贸网站PHP-FPM响应慢,Nginx默认超时短,502就来了。可以调大超时:

proxy_read_timeout 60s;
fastcgi_read_timeout 60s;

还有buffer大小也能影响。

5. 确认防火墙和网络连接正常

很多时候,电子元器件外贸网站服务器防火墙把后端端口屏蔽了,导致Nginx连不上。用 telnet 127.0.0.1 9000 测试端口通不通。

Q&A:502错误怎么快速定位?

Q: 502错误是不是后端挂了?

A: 很大概率是。但也可能是配置错了或者超时太短。先看后端进程,再看配置。

Q: 我改了配置,Nginx要重启吗?

A: 改完用 nginx -t 检查配置没错,再用 nginx -s reload 平滑重载。

Q: 后端服务日志在哪看?

A: PHP-FPM一般在 /var/log/php-fpm/error.log,Node.js看你启动日志文件或控制台输出,记得先确认路径。

总结

502 Bad Gateway其实没那么可怕。记住,先看后端服务状态,再核对Nginx配置,顺带关注超时和防火墙。就像服装外贸网站,后台订单处理链路只要通了,502就能迎刃而解。

滚动至顶部