Nginx 配置的通用语法
-
块配置项:块配置项名 + {} 组成,块配置项可以互相嵌套,例如 http { }
-
配置项的预发格式: 配置项名 配置项值1 配置项值2 ... 注意:
- 配置项名:必须是Nginx的某一个模块想要处理的,否则Nginx会认为配置文件出现了非法的配置项名。
- 配置项值:数字,字符串,正则表达式, 可以是多个值,使用空格分割多个值。一个配置项的值究竟有多少取决于解析这个配置项的模块。
- 每行配置的结尾需要加上;
-
配置项注释: #
-
配置项单位: 配置项后面的值是否可以使用单位,取决于解析这个配置项的模块。
- K / k 千字节(KB)
- M / m 兆字节(MB)
- ms
- s
- m
- h
- d
- w
- M
- y
-
在配置中使用变量
- 以 remote_addr 为例,使用它需要在他前面加上 $ ,需要注意,这种变量只有少数模块支持,并不是通用的。
- 许多模块在解析请求时都会提供多个变量,例如 http core module、http proxy module、http upstream module.
- 我们在学习某个模块提供的配置说明时,可以关注他是否提供变量。
** 提示:在执行 configrue 命令时,我们已经把许多模块编译进Nginx中,但是否启用这些模块,一般取决于配置文件中相应的配置项。换句话说,每个Nginx模块都有自己感兴趣的配置项,大部分模块都必须在 nginx.conf 中读取某个配置项后才会在运行时启用。例如,只有当配置 http {} 这个配置项时,ngx_http_module 模块才会在 Nginx 中启用,其他依赖 ngx_http_module 的模块才能正常使用 **