码迷,mamicode.com
首页 > 其他好文 > 详细

【Nginx】http配置模型

时间:2014-07-16 20:58:15      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:style   http   color   文件   re   c   

当Nginx检测到http关键配置项时,http配置模型启动,首先会建立一个ngx_http_cong_ctx_t结构。

typedef struct

{

  void **main_conf;

  void **srv_conf;

  void **loc_conf;

}ngx_http_conf_ctx_t;

http框架会为所有的http模块建立三个数组,分别存放所有http模块create_main_conf,create_srv_conf,create_loc_conf方法返回的地址指针。

一、解析http配置的流程

1.Nginx进程的主循环调用配置文件解析器来解析nginx.conf文件

2.当发现配置文件中含有http{}关键字时,http框架开始启动。

3.http框架会初始化所有http模块的序列号,并创建ngx_http_conf_ctx_t结构

4.调用每个http模块的create_main_conf,create_srv_conf,create_loc_conf方法

5.把各http模块上述三个方法返回的地址依次保存到ngx_http_conf_ctx_t结构体的单个数组中

...

二、http配置模型的内存布局

如果实现了create_main_conf方法,它所创建的结构体只会存放直接出现在http{}块下的配置项;如果实现了create_srv_conf方法,那么它所创建的结构体既会存放直接出现在http{}块下的配置项,也会存放直接出现在server{}块下的配置项,create_loc_conf方法同理。

以上设计是考虑到nginx.conf文件中高级别的配置可以对所包含的低级别配置起作用,同时也给出了不同级别下同名配置冲突时的解决方案。

三、如何合并配置项

对各模块及其嵌套模块的结构体调用merge_srv_conf,merge_loc_conf操作

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【Nginx】http配置模型,布布扣,bubuko.com

【Nginx】http配置模型

标签:style   http   color   文件   re   c   

原文地址:http://www.cnblogs.com/ljygoodgoodstudydaydayup/p/3836413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!