天天看點

nginx架構分析之 架構

Nginx伺服器使用 master/worker 多程序模式。
主程序(Master process)啟動後,會接收和處理外部信号;
主程序啟動後通過fork() 函數産生一個或多個子程序(work process),每個子程序會進行程序初始化、
子產品調用以及對事件的接收和處理等工作。      
nginx架構分析之 架構

主程序

主要功能是和外界通信和對内部其他程序進行管理,具體來說有以下幾點:

* 讀取Nginx配置檔案并驗證其有效性和正确性

* 建立、綁定和關閉socket

* 按照配置生成、管理工作程序

* 接收外界指令,比如重新開機、關閉、重載服務等指令

* 日志檔案管理      

子程序(worker process)

是由主程序生成,生成數量可以在配置檔案中定義。該程序主要工作有:

* 接收用戶端請求

* 将請求依次送入各個功能子產品進行過濾處理

* IO調用,擷取響應資料

* 與後端伺服器通信,接收後端伺服器處理結果

* 資料緩存,通路緩存索引,查詢和調用緩存資料

* 發送請求結果,響應用戶端請求

* 接收主程序指令,如重新開機、重載、退出等      
nginx架構分析之 架構