从大体结构来看,nginx.conf文件可分为三部分组成,分别分为全局快,events块和http块。在http块中包含http全局快,多个server块。而每个server块中可以包含server全局块和多个location块。在同一配置块中嵌套的配置块,各个之间不存在次序关系。
#### 1、全局块
全局块是默认配置文件从开始到events块之间的一部分内容,主要设置影响Nginx服务器正题运行的配置指令。
通常包括:用户(组)、worker process、worker_rlimit_nofile、nginx进程pid存放路径、日志存放路径、类型、配置文件引入等。
#### 2、events块
events块配置主要影响Nginx服务器与用户的网络连接。
常用包括:是否开启对多worker process下的网络连接序列化、是否允许同时接受多个网络连接请求、选取那种事件驱动模型处理连接请求以及每个work process可以同时支持的最大连接数等。
#### 3、http块
http块是Nginx服务器配置的重要组成部分,代理,缓存和日志定义等多数功能和第三方模块配置都可以放在此块中。
首先声明http块描述的不包括server块,只讲述http的全局块内容。
常用包括:文件引入、mime-type定义、日志自定义、是否使用sendfile传输文件、连接超时时间、单连接请求上限等。
#### 4、server块
server块和“虚拟主机”概念有着密切联系。
什么是虚拟主机?
虚拟主机又称虚拟服务器、主机空间或网页空间,它是一种技术。该技术是为了节省互联网服务硬件成本而出现的。
每一个http块包含多个server块,而每个server块就相当于一台虚拟主机,它内部可以有多台主机联合提供服务,一起对外提供在逻辑上关系密切的一组服务(或网站)。
在server全局块中,常用包括:虚拟主机的监听配置和虚拟主机的名称或IP配置。
#### 5、location块
在每个server块下可以有多个location块。严格来说,location是server块的一个指令。
location块的主要作用是,基于Nginx服务器接收到的请求字符串,对除虚拟主机之外的字符串进行匹配,对特定的请求进行处理。
常用包括:地址定向、数据缓存、应答控制等。