1.查看指令的上下文
例:log模块的指令有两个,log_format 和 access_log
log_format
上下文是: http ,如果在其他的模块会造成编译不通过,无法启动
access_log
上下文是:http , server , location , if in location , limit_except
指令的所属上下文正确,才能正常的启动执行
2.指令的合并
概念:指令分为两种:值指令(存储配置项的值) 和 动作类指令 (指定行为)
只有值指令能被合并
注:子指令向上覆盖,当存在子配置指令时,覆盖父配置指令,不存在子配置指令时,直接使用父配置指令
3.HTTP模块合并配置的实现
- 指令在哪个块下生效
- 指令允许出现在哪些块下
- 在
server
块下生效,从http
向serve
r合并指令- merge_srv_conf
- 配置缓存在内存
merge_loc_conf