Nginx 的reload,热升级以及优雅的关闭流程

本文详细介绍了Nginx的reload流程,包括向master进程发送HUP信号,验证配置,启动新worker子进程并优雅关闭旧进程。接着讨论了热升级步骤,涉及替换Nginx文件,发送USR2信号,启动新master进程,并最终关闭旧进程。此外,还阐述了Nginx的优雅关闭机制,主要针对worker进程,确保处理完当前连接后再关闭,特别提到了在处理WebSocket等长连接时的局限性。
摘要由CSDN通过智能技术生成

Nginx 的reload,热升级以及优雅的关闭流程

一、reload流程

  1. 向master进程发送HUP信号(reload命令)
  2. master进程校验配置语法是否正确;
  3. master打开可能引入的新的监听端口;
  4. master用新的配置文件启动新的worker子进程;
  5. 启动新的worker子进程之后,master向老的worker子进程发送QUIT信号(优雅的退出);
  6. 老的子进程收到QUIT信号之后,关闭监听句柄(也就是说,新的连接只会到新的子进程),处理完当前的连接后就结束进程;

二、热升级的流程

  1. 将久的Nginx文件替换成新的Nginx文件(注意备份);

  2. 向master进程发送USR2信号;

    Nginx还没有提供相应的命令行

  3. 之后,现有的master进程会修改pid文件名,加后缀oldbin;

    这是为了给新的master进程让路;

  4. 老的master进程,用新的Nginx二进制文件,启动新的master进程;

    此时,会出现两个master进程和老的worker进程。新的master进程会启动新

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值