nginx进程管理及 nginx -s reload流程

本文围绕Nginx展开,介绍了进程管理方式,master进程通过监控CHLD信号管理worker进程,还可接收TERM等信号。阐述了nginx -s reload流程,包括发送信号、检测配置、开启新进程等步骤。此外,说明了优雅关闭进程的方法,针对HTTP请求,通过配置超时、关闭监听和空闲连接实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx进程管理

在这里插入图片描述
master进程通过监控worker进程有没有发送CHLD信号来监控worker进程,master可以接收一些信号来管理worker进程,比如TERM等,比如kill -USR2 pid kill -WINCH pid
worker进程也会接受这些命令,一般直接对master做命令
nginx命令行和kill效果是一样的,nginx的master pid在logs/pid.log中

nginx -s reload流程

在这里插入图片描述1.worker先发送HUP信号表示自己活着
2.检测配置文件语法
3.打开配置文件中新加的端口,因为linux默认worker进程继承master的端口
4.开启worker进程,此时已继承新端口
5.退出老worker进程。quit立即退出
6.关闭老进程的监听句柄,后面结束彻底进程

在这里插入图片描述
当老worker结束完请求后自动退出

优雅的关闭进程

在这里插入图片描述
worker处理连接,直接关闭导致用户访问错误,优雅的关闭主要针对http请求
1.nginx configure中可以配置 worker shutdown timeout(添加标志位),
2.关闭监听句柄保证不会收到新的连接,为了效率最大化,nginx会建立一些空闲连接,
3.然后就是关闭空闲连接

循环通过加的标志位,在循环中,每当发现一个请求完毕,就识别请求的连接,并且关掉这个连接
当所有进程都被优雅的关闭或者达到超时时间,work进程都会立即退出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值