Nginx master工作流程

Nginx的master进程主要负责管理worker进程,不处理网络事件。它通过检查多个标志位决定工作流程,如重启服务、平滑升级、更换日志文件等。master通过ngx_processes数组管理和监控子进程,当接收到信号时,如TERM或QUIT,会相应地通知worker进程退出,并在必要时启动新的worker进程或重新配置服务。
摘要由CSDN通过智能技术生成

master工作流程图


这里写图片描述

      master进程不需要处理网络事件,它不负责业务的执行,只会通过管理worker等子进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。
      它会通过检查一下7个标志位来决定ngx_master_process_cycle函数的运行(和worker检查4个标志位是差不多的):
1. sig_atomic ngx_reap;
2. sig_atomic ngx_terminate;
3. sig_atomic ngx_quit;
4. sig_atomic ngx_reconfigure;
5. sig_atomic ngx_reopen;
6. sig_atomic ngx_change_binary;
7. sig_atomic ngx_noaccept;
8. ngx_uint_t ngx_restart; //这个不是信号

信号的意义

信号 对应进程中的全局标志变量 意义
QUIT ngx_quit 优雅地关闭整个服务
TERM或者INT ngx_terminate 强制关闭整个服务
USR1 ngx_reopen 重新打开服务中的所有文件
WINCH ngx_noaccept 所有子进程不再接受处理新的连接,相当于对所有子进程发送QUIT信号
USR2 ngx_change_binary 平滑升级到新版本Nginx程序
HUP ngx_reconfigure 重新读取配置文件是服务对新配置项生效
CHILD ngx_reap 有子进程意外结束,这时需要监控所有的子进程,也就是ngx_reap_children做的工作

ngx_processes全局数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值