Nginx:解析HTTP配置的流程
参考资料:深入理解Nginx(陶辉) 书中有详细的讲解,这里只用本人的理解梳理一下该流程。 一点提议 :对于像我这样的新手,面对暂时看不懂章节,建议先往下看一下(可能就会有新的理解或灵感),而不要死磕在某一章节。 几个重要的数据结构 定义一个用于测试的结构体 我们的测试模块将使用该结构体来存放配置信息,该结构只存放一个ngx_str_t。 typedef struct { ngx_str_t my_str; } ngx_http_mytest_conf_t; 先看看ngx_http_module_t的定义 typedef struct { ngx_int_t (*preconfiguration)(ngx_conf_t *cf); //解析配置文件前调用 ngx_int_t (*postconfiguration)(ngx_conf_t *cf); //完成配置文件解析后调用 void *(*create_main_conf)(ngx_conf_t *cf); //当需要创建数据结构用户存储main级别的全局配置项时候调用 char *(*init_main_conf)(ngx_conf_t *cf, void *conf); //初始化main级别配置项 void *(*create_srv_conf)(ngx_conf_t *cf); /