nginx配置檔案解析

2021-07-26 05:42:06 字數 1045 閱讀 7759

nginx為微核心加可擴充套件模組。自身模組有core、event、http、mail等核心模組。開發者可以基於這些核心模組開發滿足自身業務需求的模組,主要是http模組。

nginx的配置項的資料結構:

struct ngx_cycle_s
conf_ctx是乙個指標陣列,陣列一共有ngx_max_module項(nginx有多少個模組陣列就有多大),每一項是void*。void*陣列裡的每一項指向的是每個模組的create_conf()方法的結果。如core模組的ngx_core_module_create_conf(),但對於大部分模組來說,並沒有實現該方法,如http_core模組對應的該項為null。

當遇到http指令時,會呼叫該指令的解析函式ngx_http_block。

函式中有ctx = ngx_pcalloc(cf->pool, sizeof(ngx_http_conf_ctx_t));*(ngx_http_conf_ctx_t **) conf = ctx; 

首先為http模組分配乙個ngx_http_conf_ctx_t結構,把該結構儲存在conf指標指向的記憶體處,conf指標**是ngx_conf_handler()。conf代表cycle->conf_ctx[ngx_http_core_module]的指標,*(ngx_http_conf_ctx_t **) conf = ctx; 就是將ctx(指向ngx_http_conf_ctx結構的指標)放在陣列的這一項裡面。

初始化該ngx_http_conf_ctx_t結構。

四重指標

每一項指向乙個陣列指標如圖一。

Nginx配置檔案解析

nginx配置檔案解析 nginx配置檔案預設在 usr local nginx conf nginx.conf,配置檔案包括 全域性 event http server設定 event主要設定nginx的工作模式,http提供web功能 server用來設定虛擬主機,server必須位於http內...

nginx配置檔案解析

nginx 監聽原理 先監聽埠 再配置網域名稱 匹配到就訪問local 否則 沒有匹配到網域名稱就預設訪問第乙個監聽埠的local位址 定義錯誤頁面,如果是500錯誤,則把站點根目錄下的50x.html返回給使用者 location 50x.html nginx 監聽原理 先監聽埠 再配置網域名稱 ...

nginx配置檔案解析

nginx配置在conf nginx.conf中,主要有全域性,http,server,location塊配置 user nobody 執行使用者為nobody使用者 worker processes 3 工作程序數 worker cpu affinity 01 10 10 將工作程序放入cpu的哪...