nginx热部署的原理分析:nginx -s reload
nginx热部署的原理nginx -s reload
我们执行这条命令的原因是希望 nginx 不停止服务始终在处理新的请求的同时把 nginx 的配置文件平滑的把旧的 nginx.conf 配置更新为新的 nginx.conf 配置。
这样一个功能对于 nginx 非常有必要,但是有时候我们会发现在执行 nginx -s reload 命令后,worker 子进程的数量会变多了,这是因为老的配置运行的 worker 进程长时间没有退出,当使用 stream 做四层反向代理的时候,可能这种场景会更多。
nginx reload流程
- (1)向 master 进程发送 HUP 信号(reload命令)
- (2)master 进程校验配置文件语法是否正确
- (3)master 进程打开新的监听端口
- (4)master 进程用新配置启动新的 worker 子进程
- (5)master 进程向老 worker 子进程发送 QUIT 信号
- (6)老 worker 进程关闭监听句柄,处理完当前连接后结束进程

reload nginx可以两种方式
(1)./nginx -s reload
(2)kill -HUP masterpid 即 kill -HUP `cat /opt/ngx/logs/nginx.pid`
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Nginx access 日志通过 Filebeat 8.15.5 写
本文基于 Filebeat 8.15.5 版本,详细实现了Nginx access日志到ES 8的采集流程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2025-12-12
Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版
Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器(第5版) 编写2011-04-04


最新评论