Nginx学习笔记之Nginx配置文件的通用语法简介

声明:图片来自  github:https://github.com/russelltao/geektime-nginx  (Nginx核心知识100讲)

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

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

Nginx学习笔记之Nginx配置文件的通用语法简介_第1张图片

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

Nginx学习笔记之Nginx配置文件的通用语法简介_第2张图片

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

Nginx学习笔记之Nginx配置文件的通用语法简介_第3张图片

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

Nginx学习笔记之Nginx配置文件的通用语法简介_第4张图片

 

你可能感兴趣的:(Nginx学习笔记)