niginx.conf文件的结构说明

本文详细解析了Nginx配置文件的结构,包括全局块、events块、http块、server块和location块,并介绍了各块的功能及配置指令的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

........      #全局块

events{ #event块

...

}


http{  #http块

... #http全局块

server{ #server块

.. #server全局块

location[pattern]{ #location块

...

}

location[pattern]{#location块

...

}

}

server{

...

}

}


niginx.conf一共由三部分组成,分别为全局块,events块和http块。

在http块中,又包含http全局块,多个server块,多个server块不存在次序关系。

在server块中,又包含server全局块和多个location块,多个location块不存在次序关系。


配置文件支持大量可配置的指令,绝大多数指令不是特定属于某一个块的。

同一个指令放在不同层级的块中,其作用域也不同,一般情况下,高一级块中的指令可以作用于自身所在的块和此块包含的所有低层级块。

如果某个指令在不同层级的块中同时出现,采用就近原则,以较低层级块中的配置为准!


各个块的作用:

1.全局块

全局块是默认配置文件从开始到events块之间的 一部分内容,主要设置一些影响Nignx服务器整体运行的配置指令,因此,这些指令的作用域是Nginx服务器全局!

通常包括配置运行nginx服务器的用户组允许生成的worker process数Nginx进程PID存放路径日志的存放路径和类型以及配置文件引入


2.events块

events块涉及的指令主要影响Nginx服务器与用户的网络连接。

常用到的设置包括:是否开启对多worker process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型处理连接请求,每个worker process可以同时支持的最大连接数等。

这一部分的指令对Nginx服务器的性能影响大,在实际配置中,应该根据实际情况灵活调整。


3.http块

http块是nginx服务器配置中的重要部分,代理、缓存和日志定义等绝大多的功能和第三方模块的配置都可以放在这个模块中。

http块中包含http全局块和server块

可以在http全局块中配置的指令包括文件引入、MIME-TYPE定义、日志自定义、是否使用sendfile传输文件、连接超时时间、单连接请求数上限等。


4.server块

server块和“虚拟主机”的概念有密切联系。

虚拟主机,又称虚拟服务器、主机空间或是网页空间,它是一种技术。

该技术是为了节省互联网服务器硬件成本而出现的。

这里的“主机”或“空间”是由实体的服务器延伸而来,硬件系统可以基于服务器群,或者单个服务器等。

虚拟主机技术主要应用于HTTP、FTP及EMAIL等多项服务,将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬件资源。从用户角度来看,一台虚拟主机和一台独立的硬件主机是完全一样的。

每个http块都可以包含多个server块,而每个server块就相当于一台虚拟主机。

server块中全局块指令的作用域为本server块,不会影响到其他的server块。

在server全局块中,最常见的两个配置是本虚拟主机的监听配置本虚拟主机的名称或ip配置


5.location块

每个server块中出了server全局块外,还包含多个location块。

严格意义上来说,location其实是server块的一个指令,但很重要,nginx功能上的灵活性在location块中体现。

这些location块的主要作用是,基于Nginx服务器接收到的请求字符串,对除虚拟主机之外的字符串进行匹配,对特定的请求进行处理。地址定向、数据缓存、和应答控制等功能都是在这部分实现。许多第三方模块的配置也是在location块中提供功能。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值