nginx 程序的型別

2021-05-23 14:08:11 字數 774 閱讀 9223

nginx 有使用ngx_process 變數表示程序的型別,這個變數的取值在ngx_process_cycle.h中定義,主要有下面幾個

一 maste or single 

nginx 可以單個程序工作,也可以 master+ worker模式工作,所以當使用前者模式啟動的時候,程序就是ngx_process_single ; 當使用後者的時候,那麼父程序就是 ngx_process_master,而子程序就是 ngx_process_worker。使用哪種模式可以在配置檔案中設定,預設使用後者,如果配置檔案中 masterprocess off 開啟,那麼就使用了前者。

ngx_process 初始值是0,也就是ngx_process_single,在 main 函式中:

if (ccf->master && ngx_process == ngx_process_single)

也就是核心模組中的master設定了,並且程序型別還未初始化,那麼當前程序就是master程序。

我們看ccf->master 這個變數是在核心模組配置的初始化中,預設設定為1:

ngx_conf_init_value(ccf->master, 1);

因此,整個系統預設就是master模式,只有在配置中masterprocess off 才是single模式。

二  signal

當我們需要關閉、重啟等操作的時候,需要向工作中的程序傳送訊號,誰來發呢,這個程序就是 ngx_process_signaller

三 other

輔助程序暫時還沒有搞清楚。

Nginx程序模型

這篇主要是閱讀這篇博文的筆記。nginx採用的也是大部分http伺服器的做法,master,worker模型,基本的事件處理都是放在worker中,master負責一些全域性初始化,以及對worker的管理。nginx中的master和worker之間是通過socketpair來實現的,每次fork...

Nginx程序模型

目錄 1.nginx管理 工作程序模式 2.驚群 問題 為了支援現在流行的多cpu和多核架構,nginx使用了管理程序和工作程序的設計。架構設計如下圖所示 管理程序為工作程序的父程序,負責外部指令的接收,工作程序的狀態監管,負載均衡等 工作程序負責客戶端請求的處理和響應,工作程序一般是按照cpu的核...

nginx程序結構

nginx的程序結構 1.單程序結構 適用於 開發除錯 2.多程序結構 適合於生產環境 保持nginx健壯,利用多核特性 多程序nginx模型 乙個父程序 master程序 多個子程序 一類worker程序,一類cache程序 cache manager和 cache loader 為什麼採用多程序...