Nginx 학습 노트 - Nginx 모듈 의 데이터 구조
typedef struct ngx_module_s ngx_module_t;
struct ngx_module_s {
/*
* ctx_index、index、spare0、spare1、spare2、spare3、version ,
* Nginx NGX_MODULE_V1 , 7
*/
#define NGX_MODULE_V1 0,0,0,0,0,0,1
/*
* ( type ) ,ctx_index 。
* Nginx , HTTP ,ctx_index
* ngx_http_module 。ctx_index ,Nginx
* , , , Nginx
*
*/
ngx_uint_t ctx_index;
/*
* index ngx_modules 。 ,ctx_index
* , index , 。Nginx ngx_modules
* index 。
*/
ngx_uint_t index;
/* spare , */
ngx_uint_t spare0;
ngx_uint_t spare1;
ngx_uint_t spare2;
ngx_uint_t spare3;
/* , 。 , 1 */
ngx_uint_t version;
/*
* ctx 。 Nginx , 。 ,
* I/O ,HTTP HTTP 。 ,
* , ctx 。 , HTTP ,ctx
* ngx_http_module_t
*/
void *ctx;
/* nginx.conf */
ngx_command_t *commands;
/*
* type , ctx 。 Nginx , 5 :
* NGX_HTTP_MODULE、NGX_CORE_MODULE、NGX_CONF_MODULE、NGX_EVENT_MODULE、NGX_MAIL_MODULE
*/
ngx_uint_t type;
/*
* Nginx 、 , 7 7 7 。
* , Nginx , NULL 。
*/
/*
* master init_master, , ,
* , init_master NULL
*/
ngx_uint_t (*init_master)(ngx_log_t *log);
/* , master/worker , worker */
ngx_uint_t (*init_module)(ngx_cycle_t *cycle);
/*
* , master/worker , worker , worker
* init_process
*/
ngx_uint_t (*init_process)(ngx_cycle_t *cycle);
/* Nginx , init_thread , NULL */
ngx_uint_t (*init_thread)(ngx_cycle_t *cycle);
/* exit_thread , NULL */
void (*exit_thread)(ngx_cycle_t *cycle);
/* 。 master/worker ,worker */
void (*exit_process)(ngx_cycle_t *cycle);
/* master */
void (*exit_master)(ngx_cycle_t *cycle);
/*
* 8 spare_hook , , Nginx NGX_MODULE_V1_PADDING
* #define NGX_MODULE_V1_PADDING 0,0,0,0,0,0,0,0
*/
uintptr_t spare_hook0;
uintptr_t spare_hook1;
uintptr_t spare_hook2;
uintptr_t spare_hook3;
uintptr_t spare_hook4;
uintptr_t spare_hook5;
uintptr_t spare_hook6;
uintptr_t spare_hook7;
};
미 완성 계속...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.