【学习笔记】nginx配置结构简要解析
- 描述:
- 全局块:
- event块:
- http块(重点部分!!!):
- http全局块:
- server块:
- server全局块:
- location块:
描述:
Nginx配置文件组成架构,主要由三部分组成,分别是全局块、event块、http块
全局块:
主要负责会影响nginx整体的配置。如:nginx的用户和用户组、worker process(允许生成的进程数)、进程pid存放路径、日志类型及存放路径、配置文件的引入等。
event块:
主要负责服务端的nginx整体和客户端网络连接方面的配置。如:最大连接数等。
(注释:全局块和event块都是针对nginx整体配置的,http块是针对项目配置的)
http块(重点部分!!!):
1、 最主要最频繁的配置部分。代理、缓存、日志定义等绝大多数功能和第三方模块的配置都在这里。
2、 Http块也可以分成http全局块、server块。
http全局块:
主要负责文件引入、MIME-TYPE定义、链接超时时间、单链接请求数上限等以及http协议有关的设置(如允许添加的请求头,允许连接的ip域名等)。
server块:
这里是设置虚拟主机的,我喜欢叫虚拟主机块,对应虚拟主机的配置都在块下。
每个http块可以包括多个server块,每个server块相当于一个虚拟主机。而决定使用哪一个server块是通过域名和端口决定的。
而每个server块下也可分为server全局块,和多个location块。
server全局块:
也就是针对这个域名和端口的虚拟主机的配置。常见的是本虚拟主机的名称、IP、监听配置等。
location块:
这一块是针对域名后面的部分做判断的。
如www.xxx.com/index/index/index.php中的index/index/index.php部分,
对命中判断的请求进行处理。重定向、数据缓存、应答控制,以及第三方模块的配置也在这里。
注意:需要路径对应文件存在才能触发对应配置。就算是location中没有去访问文件只是打印些东西也不行。
如:
location ~ ^/test/.*$ {
default_type text/plain;
return 502 "根目录下有test文件夹,这条信息就能显示,否则不显示";
}