技术与生活 / 一篇记录
一次平滑重载,背后发生了什么
重载让主进程读取新配置并启动新 worker,旧连接通常交由旧 worker 收尾。
主进程读取新配置并启动新 worker,旧 worker 尽量完成已经接收的工作。相比直接停掉服务,这通常能减少普通配置变更对现有连接的影响。
操作与观察
配置片段不是完整配置文件,应放入正确的上下文,并按实际环境调整路径与端口。
nginx -t && nginx -s reload
重载后检查进程、错误日志和一个真实页面。
记录重载前后的主进程与 worker 状态,再检查错误日志。长连接可能让旧 worker 保留一段时间,不能仅凭它暂未退出就判断重载失败。
重载后不要只查看一个静态资源。至少覆盖主站入口、一个反向代理接口以及有改动的路径。配置中的继承关系与位置匹配规则,可能让不同入口得到不同结果。
别遗漏这条边界
语法检查通过不代表上游服务或证书信任链已经正常。
参考:Nginx 文档。