Nginx 502 排查手册:从 upstream 到文件描述符
502 不是一种错误,而是一类。本文按上游连接、worker 容量、文件描述符三条线索,把 error.log 里的关键字翻译成可执行的排查步骤和修复参数。
5 分钟阅读↗
输入关键词开始搜索
试试「Docker」「RAG」「死锁」Debugging · 08 POSTS
真实场景里的 Bug、事故与排障路径。
502 不是一种错误,而是一类。本文按上游连接、worker 容量、文件描述符三条线索,把 error.log 里的关键字翻译成可执行的排查步骤和修复参数。
同一个默认参数被所有调用共享,循环里的 lambda 全部输出最后一个值——两个看起来无关的 bug,根因都是「什么时候求值」。本文给出复现、定位命令和四种修复写法。
死锁不是数据库故障,而是两个事务互相等锁。本文讲清 1213 与 1205 的区别,教你把 InnoDB 的死锁现场读出来,并用统一的加锁顺序和重试策略收口。
发版后部分用户白屏,控制台报 ChunkLoadError。旧 HTML、已删除的 chunk 与错位的 Source Map 叠加,让定位一开始就走偏。本文还原过程并给出缓存兜底方案。
本地 docker run 正常,部署后容器秒退;或者跑着跑着停了,日志最后一行是 Starting。从退出码、ENTRYPOINT 写法到 PID 1 的信号语义,一次讲清。
同一个方法,直接调用正常,作为回调传给 setTimeout 就报 undefined。this 由调用点决定,不是定义位置。本文用六种绑定、一张优先级表和可运行的例子把这件事定死。
手动跑正常,crontab 里却静默失败。cron 不读你的 .bashrc,PATH 只有两个目录,工作目录还是家目录。本文给出三分钟定位方法和一个自带环境的脚本模板。
接口 P99 涨到秒级,日志出现 ConnectionError。Redis 很闲,客户端却借不到连接。从连接数曲线到异常路径的 finally,讲清泄漏怎么找、怎么修。