二、配置文件说明
1、conf文件的基本结构
分为以下块:全局块、events块、http块、http全局块、server块、server全局块、location块

2、配置运行Nginx的用户组

#user [user] [group]
user nobody nobody ;
注释掉或者设定为任何人,这是默认配置;

3、配置允许生产的worker process数
worker process 是Nginx服务器实现并发处理服务的关键,从理论上来说,work process的值越大,可以支持的并发处理能力越强,但是实际上它还要受到来自软件本身、操作系统资源和能力、硬件设备等的制约。

worker_process number | auto ;  //默认的number值为1,或者是auto自动检测

4、配置Nginx进程的PID存放路径,只能在全局块中配置。

pid sbin/web_nginx ; //path的路径可以是绝对路径,也可以是以Nginx安装目录为根目录的相对路径,注意在设定path的时候一定要包括文件名。

5、配置错误日志的存放路径
设定语法如下,需要注意的是,设定某一级别后,比这一级别搞的日志也会被记录,例如设定warn后,级别为warn以及error、crit、alert 和emerg的日志都会被记录下来

error_log file  | stderr [debug | info | notice | warn | error | crit | alert | emerg ];

6、配置文件的引入
在特殊情况下需要将其他的Nginx配置或者第三方模块的配置文件引入到当前的主配置文件中。Nginx提供include指令来完成配置文件的引入,语法如下,支持相对路径,请注意文件读写权限及配置文件的规范:

include file ;

7、设定网络连接的序列化
在《Unix网络编程》第一卷中提到过一个“惊群”的问题(thundering herd problem),大致意思是当某一时刻只有一个网络连接到来时,多个睡眠进程会被同事唤醒,但是只有一个进程可以获得连接。如果每次唤醒的进程数目太多,会影响一部分系统性能。在Nginx服务器的多进程下,就有可能出现这样的问题。
为了解决这样的问题,Nginx配置中包含了一个这样的指令accept_mutex(接受_互斥),档期设定为开启时,将会对多个Nginx进程接收连接进行序列化,防止多个进程对连接争抢,语法结构为:

accept_mutex on | off ; //默认为on开启状态,只能在server模块中配置

8、设定是否允许同时接受多个网络连接
每一个Nginx服务器的work process都有能力同时接收多个新到达的网络连接,但是这需要在配置文件中进行设定,指令为multi_accept,语法结构为:

multi_accept on | off ;  //默认为off关闭,即每一个work process 一次只能接受一个新到达的网络,指令在events模块中配置。

9、事件驱动模型的选择
Nginx服务器提供了多种事件驱动模型来处理网络消息。配置文件中为我们提供了相关的指令来强制Nginx服务器选择哪一种事件驱动模型来进行消息处理,指令为use,语法结构为:

user method ;  //method的可选内容有:select、poll、kqueue、epoll、rtsig、/dev/poll以及eventport。

10、配置最大连接数
指令为worker_connections主要用来设定每一个work process同事开启的最大连接数,语法结构为:

worker_connections number;   //默认设定为512或者1024,连接不仅仅包括和前端的用户建立的连接数,而是包括所有可能的连接数。另外,number的值不能大于操作系统支持打开的最大文件句柄数量。


最后修改:2021 年 01 月 30 日
如果觉得我的文章对你有用,请随意赞赏