---
title: "一次 502 的完整排查：Nginx 与 PHP-FPM 之间发生了什么"
date: 2026-04-25
category: "运维部署"
---

# 一次 502 的完整排查：Nginx 与 PHP-FPM 之间发生了什么

四月二十三号晚上十一点，发现网站打不开。

打开一看是 502。这种错误只说明一件事：Nginx 没能从上游拿到响应。至于上游为什么没响应，得自己查（晕）

先看 Nginx 错误日志，第一行就有方向：

```
connect() to unix:/tmp/php-cgi-82.sock failed
  (11: Resource temporarily unavailable) while connecting to upstream
```

连接被拒，不是文件不存在，说明进程活着，是打满了。ps 数了一下 php-fpm 的 worker，正好卡在 pm.max_children 上。

再看 FPM 慢日志，抓到一个跑了四十多秒的请求，是后台的一个统计接口，里面有个没加索引的 GROUP BY。

当时做了三件事。临时把 max_children 从 50 调到 80，先把服务撑住；给那个接口的查询加了索引；接口本身挪成了低频调用。