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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容