Nginx 进程模型概述

2021-04-19  本文已影响0人  Super淳语
Nginx 进程模型概述


简单总结如下:
1. 区分为 master/worker 两类进程
2. worker进程监听,处理用户的请求,并返回
3. master进程用于监控worker进程的状态,会拉起意外关闭的worker进程
4. master进程同时接收用户的命令/信号(比如 reload, stop),并将命令分发给子进程


nginx控制指令
如上,由于master是所有控制nginx指令的入口,因此只要将指令发给master进程,就能达到控制nginx的目的。
正常情况下,我们会通过./sbin/nginx -s reload此类的命令重启nginx等,
其实只要明白所有的指令最后都是转化成一个信号发个master进程,我们完成可以通过发信号给master进程来达到控制nginx的目的。


信号  nginx命令 说明
Hup -s reload   重启nginx
Term/int    -s quit 快速关闭nginx
Quit    -s stop 从容关闭nginx
user1   -s reopen   重新打开日志文件
user2   -   平滑升级可执行程序
winch   -   从容关闭工作进程


考虑一个情况,当一个进程的nginx.pid 文件丢失了,
如果关闭nginx?额, killall -9 nginx太简单粗暴了,
一个技巧就是 ps aux | grep "nginx: master", 
找到对应进程的pid,然后kill -QUIT nginx.master.pid 即可!


上一篇 下一篇

猜你喜欢

热点阅读