本文内容:
nginx常用配置项的参数宏
分享一些nginx配置中的参数宏,多用于限制配置项出现在nginx配置文件中的位置。
NGX_MAIN_CONF:出现在全局配置中,即不属于任何{}配置块。
NGX_EVET_CONF:出现在events{}块内。
NGX_HTTP_MAIN_CONF: 出现在http{}块内。
NGX_HTTP_SRV_CONF::出现在server{}块内,该server块必需属于http{}块。
NGX_HTTP_LOC_CONF:出现在location{}块内,该location块必需属于server{}块。
NGX_HTTP_UPS_CONF: 出现在upstream{}块内,该location块必需属于http{}块。
NGX_HTTP_SIF_CONF:出现在server{}块内的if{}块中。该if块必须属于http{}块。
NGX_HTTP_LIF_CONF: 出现在location{}块内的if{}块中。该if块必须属于http{}块。
NGX_HTTP_LMT_CONF: 出现在limit_except{}块内,该limit_except块必须属于http{}块。
用于限制配置项的参数个数的宏:
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_BLOCK:配置项定义了一种新的{}块,如:http、server等配置项。
NGX_CONF_ANY:不验证配置项携带的参数个数。
NGX_CONF_FLAG:配置项只能带一个参数,并且参数必需是on或者off。
NGX_CONF_1MORE:配置项携带的参数必需超过一个。
NGX_CONF_2MORE:配置项携带的参数必需超过二个。