网站打不开提示 502 Bad Gateway?新手先查这 3 处
刚把网站部署到云服务器上,浏览器却提示 502 Bad Gateway,页面一片空白。别急着重装系统:502 的意思是 Nginx 这样的反向代理收到了后端服务返回的无效响应,问题大多出在后端那一层,按下面三处顺序排查,一般很快就能定位。
第一处,先看后端服务还活着没有。502 最常见的原因就是后端应用挂了。登录服务器,用 systemctl status 检查你的应用服务状态,或者用 ps 看看进程在不在,再用 ss 或 netstat 确认应用监听的端口有没有在监听。如果服务停了,先看日志里最后几行报错,修好配置再重启服务;如果端口没监听,可能是应用启动失败,日志里一般能找到原因。
第二处,再看 Nginx 配置里的后端地址写对没有。打开 Nginx 的站点配置文件,检查 proxy_pass 指向的地址和端口,和后端实际监听的地址端口是否一致。很多人改了应用端口却忘了改 Nginx 配置,或者 upstream 里写错了内网 IP,Nginx 转发到一个没人监听的地址,就会直接返回 502。改完配置先用 nginx -t 检查语法,没问题再用 nginx -s reload 平滑重载,不要直接重启整个服务。
第三处,最后看服务器资源是不是被打满了。后端服务还活着、配置也没错,但 CPU 或内存被占满、磁盘写满了,应用响应超时或直接崩溃,Nginx 等不到正常响应也会报 502。用 top 或 free 看看负载和内存,df -h 看看磁盘空间,顺手翻一下应用日志,看看是不是某个接口卡住了或者连接数爆了。资源不够就先释放或扩容,再考虑要不要给应用加限流。
排查 502 有个小诀窍:先分清是 Nginx 的问题还是后端的问题,再动手。按“服务在不在、配置对不对、资源够不够”这个顺序查一遍,大多数 502 都能自己解决,不用一上来就重装系统或重建服务器。
- 点赞
- 收藏
- 关注作者
评论(0)