开发者社区> 问答> 正文

reload重载配置文件流程是什么?

reload重载配置文件流程是什么?

展开
收起
芯在这 2021-12-13 23:15:29 613 0
1 条回答
写回答
取消 提交回答
  • 向master进程发送HUP信号(reload命令)

    在我们修改nginx.conf后,向master进程发送HUP信号,这其实和我们在nginx命令行执行nginx -s reload命令是一样的。

    master进程校验配置语法是否正确

    master进程收到信号以后,master进程校验配置语法是否正确,也就是说我们并不一定非要在nginx -s reload 之前先执行 -t 检验下语法是否正确,在nginx master进程一定会做这件事情。

    master进程打开新的监听端口

    在配置语法完全正确以后,nginx的master进程就回去打开新的监听窗口。

    master进程用新配置启动新的worker子进程

    master进程用新的nginx.conf配置文件启动新的worker子进程

    master进程向老worker子进程发送QUIT信号

    在启动新的子进程以后,再向老的worker子进程发送QUIT信号,这时候我们发现QUIT信号和TERM INT信号不一样的,QUIT信号是请优雅地关闭子进程。这时,我们要注意先后顺序,因为nginx必须要保证平滑,所以它一定要先启动新的worker子进程再向老的worker子进程发送QUIT信号。

    老worker进程关闭监听句柄,处理完当前连接后结束进程

    老的worker子进程收到QUIT信号以后,首先关闭监听句柄,也就是说这个时候新的连接只会到新的worker子进程,所以它们之间虽然有个时间差,但是时间是非常快速的。处理完关闭监听句柄,处理完当前连接后结束进程。

    2021-12-13 23:17:02
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载