Nginx配置文件的通用语法介绍

  • Nginx二进制文件中以及指定它包含了哪些模块,但每一个模块都会提供独一无二的配置语法,这些配置语法会遵循同样的语法规则。
  • 配置文件由指令与指令块构成
  • 如http{}就是一个指令块
  • include  mine.types;  这是一条指令
  • 每条指令都是以分号结尾
  • 指令和参数间以空格符号分隔   
  • include是一个指令名,中间以一个或多个空格来分隔,mine.typess就是它的参数,可以具备一个或多个参数。
  • 两个指令间不是以回车作为分隔符,以分号分隔。

nginx配置文件输出 nginx配置文件include_配置文件

  • 指令块以{}大括号将多条指令组织在一起
  • 指令里还可以包含其他指令块。
  • 有些指令块可以有名字,如upstream 后面有 thwp,有些没有名字,如http,sever后面就没有名字
  • 什么样的指令有名字什么样的指令没有名字
  • 这是由提供这个指令块的Nginx模块来决定的。它可以决定指令块后面有一个或者多个参数或者没有参数。
  • include语句允许组合多个配置文件以提升可维护性
  • 例子中,mine.typess其实里面含有很多条不同文件的后缀名与http协议中mine格式的对照关系表
  • 这些关系指令其实是非常的耦合在一起的,和我们的语法关联不大,所以用了include以后文件可读性好了很多。
  • 使用#符号添加注释,提高可读性
  • 如   #Nginx配置语法
  • 使用$符号使用变量
  • 如binary_remote_addr,是一个变量不是这个模块提供的,是Nginx框架提供的
  • 部分指令的参数支持正则表达式
  • 如location后面 ~*  \.
  • 配置文件中涉及到时间
  • 如expire 3m;

nginx配置文件输出 nginx配置文件include_nginx配置文件输出_02

  • 配置文件中涉及到空间
  • 如limit req zone $binary remote addr zone=one:10m
  • 开了10m大小的内存空间,以给不同的worker去使用

nginx配置文件输出 nginx配置文件include_配置文件_03

  • http配置中有四个块:
  • 如案例中,http所有的指令都是由http模块去解析,执行的
  • 一个非http模块是无法去解析这里面的指令的

nginx配置文件输出 nginx配置文件include_nginx配置文件输出_04