Nginx工作原理

进程

一个Master Process, 每个cpu core一个Work process,一个Cache manager process,一个Cache loader process

Nginx工作原理_第1张图片
  • master process读取配置,绑定port,fork work process
  • Cache loader process 读取磁盘上的缓存,然后退出
  • Cache manager process周期性的清理磁盘上的缓存
  • work process处理所有的网络连接

Work Process

work process单线程,从master process分配一些监听的socket,当有连接到来时,从监听的socket上会产生事件,针对每个连接有一个State machine

Nginx工作原理_第2张图片
Paste_Image.png

Event Driven State Machine

传统的Server是一个连接(file descriptor)分配一个thread 或者 process。开销太大

Nginx工作原理_第3张图片
Paste_Image.png

Nginx是一个work process处理多个listen socket和connection socket产生的事件

Nginx工作原理_第4张图片
Paste_Image.png

你可能感兴趣的:(Nginx工作原理)