Nginx 进程最大可打开文件数

worker_processes操作系统启动多少个工作进程运行Nginx。注意是工作进程,不是有多少个nginx工程。在Nginx运行的时候,会启动两种进程,一种是主进程master process;一种是工作进程worker process。例如我在配置文件中将worker_processes设置为4,启动Nginx后,使用进程查看命令观察名字叫做nginx的进程信息,我会看到如下结果:

1个nginx主进程,master process;还有四个工作进程,worker process。主进程负责监控端口,协调工作进程的工作状态,分配工作任务,工作进程负责进行任务处理。一般这个参数要和操作系统的CPU内核数成倍数。

worker_connections这个属性是指单个工作进程可以允许同时建立外部连接的数量。无论这个连接是外部主动建立的,还是内部建立的。这里需要注意的是,一个工作进程建立一个连接后,进程将打开一个文件副本。所以这个数量还受操作系统设定的,进程最大可打开的文件数有关

设置Nginx进程最大可打开文件数

1、更改操作系统级别的“进程最大可打开文件数”的设置

2、更改Nginx软件级别的“进程最大可打开文件数”的设置

刚才更改的只是操作系统级别的“进程最大可打开文件”的限制,作为Nginx来说,我们还要对这个软件进行更改。打开nginx.conf主配置文件。您需要配合worker_rlimit_nofile属性。如下:

user root root; 
worker_processes 4; 
worker_rlimit_nofile 65535;

#error_log logs/error.log; 
#error_log logs/error.log notice; 
#error_log logs/error.log info;

#pid logs/nginx.pid; 
events { 
        use epoll; 
        worker_connections 65535; 
}

请注意代码行中加粗的两个配置项,请一定两个属性全部配置

验证Nginx的“进程最大可打开文件数”是否起作用

那么我们如何来验证配置是否起作用了呢linux系统中,所有的进程都会有一个临时的核心配置文件描述,存放路径在 /pro/进程 /limit

首先我们来看一下,没有进行参数优化前的进程配置信息:

可以看到,nginx工作进程的进程 是:2291 2292 2293 2294。我们选择一个进程,查看其核心配置信息:

请注意其中的Max open files ,分别是1024和4096。那么更改配置信息,并重启Nginx后,配置信息就是下图所示了:

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月1日
下一篇 2018年7月1日

相关推荐