Nginx工作原理

进程

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

  • master process读取配置,绑定port,fork work process
  • Cache loader process 读取磁盘上的缓存,然后退出
  • Cache manager process周期性的清理磁盘上的缓存
  • work process处理所有的网络连接

Work Process

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

Paste_Image.png

Event Driven State Machine

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

Paste_Image.png

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

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容