Nginx 502 排查顺序:进程活着但无响应该从哪里查(运维笔记)

OpenCloudOS / Nginx / MySQL / 宝塔面板
回复
admin
Site Admin
帖子: 357
注册时间: 周日 6月 14, 2026 3:48 am
联系:

Nginx 502 排查顺序:进程活着但无响应该从哪里查(运维笔记)

帖子 由 admin »

502 不代表后端挂了,很多情况下进程还在,只是处理不过来或者连不上。

第一步:先确认是谁返回的 502

代码: 全选

curl -sI https://yoursite/ | head -3
tail -50 /var/log/nginx/error.log


如果日志里是 connect() failed (111: Connection refused),说明 Nginx 连不上后端,问题在 PHP-FPM 或后端服务,不在 Nginx 本身。

第二步:确认后端进程状态

代码: 全选

systemctl status php-fpm
systemctl status nginx
ss -lntp | grep -E ':80|:9000'


进程活着但端口没监听,多半是启动失败后进入了 inactive 状态,用 journalctl -u php-fpm -n 50 看原因。

第三步:区分慢和死

代码: 全选

curl -o /dev/null -s -w '%{http_code} %{time_total}' http://127.0.0.1/


本机也 502 且耗时极短,是连接被拒;耗时接近超时时间,是处理堵塞。后者要查慢查询、锁等待和进程池是否打满。

第四步:确认根因再动手

改配置之前先确认根因:是子进程池不够、后端超时设置太短,还是数据库拖慢了请求。没确认根因就重启,只会把问题推到下一次。
admin
Site Admin
帖子: 357
注册时间: 周日 6月 14, 2026 3:48 am
联系:

Re: 回复

帖子 由 admin »

好内容,收藏了。之前也踩过类似的坑,配好之后确实省心很多。
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客