首先我們要知道,Nginx 采用的是多進(jìn)程(單線程) & 多路IO復(fù)用模型。使用了 I/O 多路復(fù)用技術(shù)的 Nginx,就成了”并發(fā)事件驅(qū)動“的服務(wù)器。
(推薦教程:nginx教程)
多進(jìn)程的工作模式
Nginx 在啟動后,會有一個(gè) master 進(jìn)程和多個(gè)相互獨(dú)立的 worker 進(jìn)程。master 接收來自外界的信號,向各 worker 進(jìn)程發(fā)送信號,每個(gè)進(jìn)程都有可能來處理這個(gè)連接。master 進(jìn)程能監(jiān)控 worker 進(jìn)程的運(yùn)行狀態(tài),當(dāng) worker 進(jìn)程退出后(異常情況下),會自動啟動新的 worker 進(jìn)程。
注意 worker 進(jìn)程數(shù),一般會設(shè)置成機(jī)器 cpu 核數(shù)。因?yàn)?/p>