ngx_command_t 结构体中type成员的取值及其意义

ngx_command_t 结构体

struck ngx_command_s {
		ngx_str_t name;
		ngx_uint_t type;
		char *(*set)(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
		ngx_uint_t conf;
		ngx_uint_t offset;
		void *post;
};

type类型type取值意义
处理配置项时获取当前配置块的方式NGX_DIRECT_CONF一般由NGX_CORE_MODULE 类型的核心模块使用,仅与下面的NGX_MAIN_CONF同时设置,表示模块需要解析不属于任何{}内的全部配置项.它实际上会指定set方法里的第3个参数conf的值, 使之指向每个模块解析全局配置项的配置结构体
NGX_ANY_CONF目前未使用,配置与否均无意义
配置项可以在哪些{}配置块出现NGX_MAIN_CONF配置项可以出现在全局配置中,既不属于任何{}配置块
NGX_EVENT_CONF配置项可以出现在events{}块内
NGX_MAIL_SRV_CONF配置项可以出现在server{}块内,然而该server{}块必须属于mail{}块或者imap{}块
NGX_MAIL_MAIN_CONF配置项可以出现在mail{}块或者imap{}块内
NGX_HTTP_MAIN_CONF配置项可以出现在http{}块
NGX_HTTP_SRV_CONF配置项可以出现在server{}块内,然而server块必须属于http{}块
NGX_HTTP_LOC_CONF配置项可以出现在location{}块内,然而该location块必须属于http{}块
NGX_HTTP_UPS_CONF配置项可以出现在upstream{}块内, 然而该upstream块必须属于http{}块
NGX_HTTP_SIF_CONF配置项可以出现在server块内的if{}块中,目前仅有rewrite模块会使用,该if{}块必须属于http{}块
NGX_HTTP_LIF_CONF配置项可以出现在location块内的if{}块中,目前仅rewrite模块使用,该if{}块必须属于http{}块
NGX_HTTP_LMT_CONF配置项可以出现在limit_except{}块内,然而该limit_except块必须属于http{}块
限制配置项的参数个数NGX_CONF_NOARGS配置项不携带任何参数
NGX_CONF_NOARGS配置项不携带任何参数
NGX_CONF_TAKE1配置项可以携带1个参数
NGX_CONF_TAKE2配置项可以携带2个参数
NGX_CONF_TAKE3配置项可以携带3个参数
NGX_CONF_TAKE4配置项可以携带4个参数
NGX_CONF_TAKE5配置项可以携带5个参数
NGX_CONF_TAKE6配置项可以携带6个参数
NGX_CONF_TAKE7配置项可以携带7个参数
NGX_CONF_TAKE12配置项可以携带1个或2个参数
NGX_CONF_TAKE13配置项可以携带1个或3个参数
NGX_CONF_TAKE23配置项可以携带2个或3个参数
NGX_CONF_TAKE123配置项可以携带1~3个参数
NGX_CONF_TAKE1234配置项可以携带1~4个参数
限制配置项后的参数出现的形式NGX_CONF_ARGS_NUMBER目前未使用,无意义
NGX_CONF_BLOCK配置项定义了一种新的{}块
NGX_CONF_ANY不验证配置项携带的参数个数
NGX_CONF_FLAG配置项携带的参数只能是1个,并且参数的值只能是on或者off
NGX_CONF_1MORE配置项携带的参数个数必须超过1个
NGX_CONF_2MORE配置项携带的参数个数必须超过2个
NGX_CONF_MULTI表示当前配置项可以出现在任意块中(包括不属于任何块的全局配置),它仅用于配合其他配置项使用,type中未加NGX_CONF_MULTI时,如果一个配置项出现在type成员未标明配置块中,那么Nginx会认为该配置项违法,最后将导致Nginx启动失败.但如果配置项中加入了NGX_CONF_MULTI,则认为配置项一定是合法的.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值