每個nginx模組,都是乙個ngx_module_t型別的變數。根據ngx_module_t的type,所有nginx模組可以分為5種型別:
type
ctx指向的資料結構
commands指向的資料結構
具體模組
ngx_event_core_module等
ngx_http_core_module等
ngx_mail_module
ngx_mail_module_t
ngx_command_t
ngx_mail_core_module等
// 用於初始化ngx_module_t的前7個成員變數
#define ngx_module_v1 ngx_module_unset_index, ngx_module_unset_index, null, 0, 0, nginx_version, ngx_module_signature
// 用於初始化ngx_module_t的後8個成員變數
#define ngx_module_v1_padding 0, 0, 0, 0, 0, 0, 0, 0
struct ngx_module_s ;
// 核心模組的ctx指向的資料結構
typedef struct ngx_core_module_t;
// 事件模組的ctx指向的資料結構
typedef struct ngx_event_module_t;
typedef struct ngx_event_actions_t;
// http模組的ctx指向的資料結構
// mail模組的ctx指向的資料結構
typedef struct ngx_mail_module_t;
// commands指向的資料結構
struct ngx_command_s ;
// 定義核心模組ngx_core_module
static ngx_command_t ngx_core_commands = ;
static ngx_core_module_t ngx_core_module_ctx = ;
ngx_module_t ngx_core_module = ;
// 定義核心模組ngx_errlog_module
static ngx_command_t ngx_errlog_commands = ;
static ngx_core_module_t ngx_errlog_module_ctx = ;
ngx_module_t ngx_errlog_module = ;
// 定義核心模組ngx_events_module
static ngx_command_t ngx_events_commands = ;
static ngx_core_module_t ngx_events_module_ctx = ;
ngx_module_t ngx_events_module = ;
// 定義核心模組ngx_openssl_module
static ngx_command_t ngx_openssl_commands = ;
static ngx_core_module_t ngx_openssl_module_ctx = ;
ngx_module_t ngx_openssl_module = ;
// 定義核心模組ngx_http_module
// 定義核心模組ngx_mail_module
static ngx_command_t ngx_mail_commands = ;
static ngx_core_module_t ngx_mail_module_ctx = ;
ngx_module_t ngx_mail_module = ;
// 定義配置模組ngx_conf_module,其中ctx為空
static ngx_command_t ngx_conf_commands = ;
ngx_module_t ngx_conf_module = ;
nginx原始碼閱讀
scr os unix下 ngx alloc.c 分配記憶體的封裝 ngx daemon c 建立守護程序。ngx thread cond.c 條件變數的封裝。ngx recv.c socket收的封裝 ngx send.c socket發的封裝 ngx shmem.c 共享記憶體的封裝 ngx s...
Nginx原始碼閱讀(Hello World程式)
於深入理解nginx第3章 在nginx 1.10.2目錄下新建mytest目錄,把config檔案和ngx http mytest module.c檔案放在mytest目錄下 在 usr local nginx conf nginx.conf中增加以下配置 定義http模組ngx http myt...
《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具
檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...