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,则认为配置项一定是合法的. |