故障排查入门7 分钟
常见 HTTP 状态码:301/404/500/502 各是什么意思
状态码是服务器对每次请求的三位数回执。分清五大类与常用码,掌握 301 与 302、404 与 410 的使用时机,避开软 404。
HTTP状态码
2026年10月30日从代理入口、上游进程、网络端口、日志和最近变更逐层检查 502,而不是先盲目重启。
502 表示网关或代理无法从上游获得有效响应。先确认是单个页面、整个站点还是特定地区受影响,并记录首次出现时间、最近部署和配置变更。避免在没有证据时连续重启多个服务,导致日志和现场信息丢失。
sudo nginx -t
sudo tail -n 100 /var/log/nginx/error.log
sudo tail -n 100 /var/log/nginx/access.log
错误日志可能提示连接被拒绝、上游超时、DNS 解析失败或权限问题。核对 proxy_pass 地址、端口、协议和 upstream 名称,并确认配置加载的是你正在编辑的文件。
sudo systemctl status app.service --no-pager
sudo journalctl -u app.service -n 100 --no-pager
sudo ss -lntp
根据证据修复配置、依赖或应用问题。涉及配置变更时先备份,运行语法检查后再 reload;涉及应用版本时保留上一个可用版本。修复后从入口和上游分别检查,确认错误率、日志和核心页面恢复。
谨慎重启生产服务
重启可能中断现有请求并掩盖根因。若确需重启,先确认影响范围、持久化状态和回滚方案,并在维护窗口内执行。
用面板部署的站点,排查入口有两处变化。其一,应用通常以容器或守护进程方式运行,面板"应用列表"里的运行状态就是上游状态,先看它再登服务器。其二,端口映射:面板应用实际监听的端口,可能与 Nginx 配置里 proxy_pass 写的端口不同,排查时以面板应用详情里显示的端口为准。
| error.log 关键词 | 含义 | 优先动作 |
|---|---|---|
| Connection refused | 上游进程没在监听:没启动,或端口写错 | 确认进程状态与监听端口 |
| upstream timed out | 上游活着但没在时限内回应 | 查应用慢在哪里:数据库、外部请求、死循环 |
| no live upstreams | upstream 里所有节点都不可用 | 逐个检查上游成员状态 |
| Permission denied | 代理进程无权连接上游(常见于 Unix socket) | 检查 socket 文件权限与属主 |
相关教程
本文要点
先收集证据,再进行小范围变更;操作前留好备份,操作后用明确的检查项验证结果。
继续学习
状态码是服务器对每次请求的三位数回执。分清五大类与常用码,掌握 301 与 302、404 与 410 的使用时机,避开软 404。
理解 Nginx 在网站请求中的角色,按配置检查、目录权限和发布验证的顺序托管静态页面。
从域名验证、证书签发到自动续期检查,了解 HTTPS 配置中容易遗漏的关键步骤。