Appearance
2.2 构架基础
2.2.1 Nginx的请求处理流程

2.2.2 Nginx的进程结构
- 多进程Nginx结构
Master进程=CM进程+CL进程+n个worker进程- 进程之间通过共享内存通讯
- 每个
worker进程独占一个CPU内核 - 一个线程同时处理多个连接,尽量减少切换进程。
2.2.3 Nginx进程管理-信号
- 信号种类
term/int立刻停止quit优雅的停止
``hup重载配置文件usr1重新打开日志文件usr2、winch`通过命令行发送信号,针对热部署使用
- Master信号
监控worker进程
管理worker进程
接受信号term、int、quit、hup、usr1、usr2、winch
- Worker信号
接受信号
term、int、quit、usr1、winch
- 命令行信号
hup、usr1、term、quit
TIP
- Nginx为什么是多进程结构:多线程共用一个地址空间,易出现缓存失效,Nginx使用多进程单线程,不仅能提高并发率,而且进程之间是相互独立,互不干扰。
- 什么是
http请求优雅的关闭:判断连接是否空闲,并关闭空闲的连接 - 重载:先启动新的进程平稳运行后再关闭旧的进程,此时新进程可以向老进程发送
hup信号进行回滚。