Skip to content

2.2 构架基础

2.2.1 Nginx的请求处理流程

Nginx的请求处理流程

2.2.2 Nginx的进程结构

  • 多进程Nginx结构
  1. Master进程= CM进程+CL进程+n个worker进程
  2. 进程之间通过共享内存通讯
  3. 每个worker进程独占一个CPU内核
  4. 一个线程同时处理多个连接,尽量减少切换进程。

2.2.3 Nginx进程管理-信号

  1. 信号种类

term/int立刻停止
quit优雅的停止
``hup重载配置文件 usr1重新打开日志文件 usr2winch`通过命令行发送信号,针对热部署使用

  1. Master信号

监控worker进程
管理worker进程
接受信号termintquithupusr1usr2winch

  1. Worker信号

接受信号termintquitusr1winch

  1. 命令行信号

hupusr1termquit

TIP

  1. Nginx为什么是多进程结构:多线程共用一个地址空间,易出现缓存失效,Nginx使用多进程单线程,不仅能提高并发率,而且进程之间是相互独立,互不干扰。
  2. 什么是http请求优雅的关闭:判断连接是否空闲,并关闭空闲的连接
  3. 重载:先启动新的进程平稳运行后再关闭旧的进程,此时新进程可以向老进程发送hup信号进行回滚。