文章目录
解析 HTTP 配置的流程
上图是 HTTP 框架解析配置项的示意流程图(图中包含 HTTP 框架的两个主要模块:ngx_http_module 和 ngx_http_core_module 模块)具体解析流程如下:
- 上图中的主循环是指 Nginx 进程的主循环,主循环只有调用配置文件解析器才能解析 nginx.conf 文件(这里的 “主循环” 是解析全部配置文件的循环代码);
- 当发现配置文件中包含 http{} 关键字时,HTTP 框架开始启动;
- HTTP 框架会初始化所有 HTTP 模块的序列号,并创建 3 个数组用于存储所有 HTTP 模块的
create_main_conf、create_srv_conf、create_loc_conf
方法返回的指针地址,并把这 3 个数组的地址保存到 ngx_http_conf_ctx_t 结构中; - 调用每个 HTTP 模块的
create_main_conf、create_sr