磁盘满的故障现象往往不像磁盘问题(MySQL 起不来、容器重启、网站 500)。按「df -i 查 inode → du 逐层定位 → 按风险从低到高清理」走,含 Docker 日志无上限的坑、binlog 清理的三个前提、df 满但 du 小的已删文件占用问题。
证书续期失败是定时炸弹。列六种原因与诊断:80 端口 challenge 路径被跳转挡住、DNS 变更、证书目录权限、ACME 客户端过旧或端点下线、cron 失效且未 reload nginx、多域名证书「全或无」。含 dry-run 先行的原因(每周 5 次失败上限)。
报 Too many connections 时先分清连接泄漏、瞬时高峰、长连接堆积三种类型,解法完全相反。含 processlist 的 Command/Time 解读、三种典型泄漏代码(忘 close、事务不收尾、池子无上限)、wait_timeout 的副作用、应急止血与根治的取舍。
502 是上游响应无效,504 是等上游超时——原因几乎相反。按「客户端 → Nginx → 上游 → 上游的后端」四层定位,含 error.log 关键词对照表、超时参数优先级(谁小谁生效)、PHP-FPM 假死识别、容器网络固定 IP 方案。
容器一直 Restarting 且日志为空时,按「看 exit code → 查权限 → 查 entrypoint → 查依赖」四步走。含 exit code 对照表、日志为空的四种原因(含配置文件权限 644 坑)、compose healthcheck 与 start_period 的正确配置。