11.9.2 指令类型type

时间 : 16-03-29 栏目 : nginx专题 作者 : 老薛 评论 : 0 点击 : 790 次

这里提到的指令类型和ngx_command_s结构体中的type含义不同。Nginx程序中的指令有哪些类型呢?它们以宏的形式定义在不同的源码头文件中。我们在/nginx/src/core/ngx_conf_file.h文件中可以找到:
 

    #define NGX_DIRECT_CONF            0x00010000  
    #define NGX_MAIN_CONF              0x01000000  
    #define NGX_ANY_CONF               0x0F000000  

这些是core类型模块支持的指令类型。其中的NGX_DIRECT_CONF类指令在Nginx程序进入配置解析函数之前已经初始化完成,所以在进入配置解析函数之后可以将它们直接解析并存储到实际的数据结构中,从配置文件的结构上来看,它们一般指的就是那些游离于配置块之外、处于配置文件全局块部分的指令。NGX_MAIN_CONF类指令包括event、http、mail、upstream等可以形成配置块的指令,它们没有自己的初始化函数。Nginx程序在解析配置文件时如果遇到NGX_MAIN_CONF类指令,将转入对下一级指令的解析。

在/nginx/src/event/ngx_conf_file.h文件中可以找到:

    #define NGX_EVENT_CONF            0x02000000

这是event类型模块支持的指令类型。

在/nginx/src/http/ngx_http_conf.h文件中可以找到:

    #define NGX_HTTP_MAIN_CONF          0x02000000  
    #define NGX_HTTP_SRV_CONF           0x04000000  
    #define NGX_HTTP_LOC_CONF           0x08000000  
    #define NGX_HTTP_UPS_CONF           0x10000000  
    #define NGX_HTTP_SIF_CONF           0x20000000  
    #define NGX_HTTP_LIF_CONF           0x40000000  
    #define NGX_HTTP_LMT_CONF           0x80000000  

这些是http类型模块支持的指令类型,

在/nginx/src/mail/ngx_mail.h文件中可以找到:

    #define NGX_MAIL_MAIN_CONF        0x02000000  
    #define NGX_MAIL_SRV_CONF         0x04000000  

这些是mail类型模块支持的指令类型。

本文标签

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/nginx-2/1575.html

11.9.2 指令类型type:等您坐沙发呢!

发表评论

9 + 6 = ?


博主微信号,很高兴为您提供帮助

随便看看

0