欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设置nginx进程可打开最大的文件数 博客分类: nginx nginx进程可打开的最大文件数反向代理 

程序员文章站 2024-03-15 08:56:23
...

涉及到的nginx配置参数:

   worker_processes: 表示操作系统启动多少个工作进程在运行,一般这个参数设置成CPU核数的倍数

   worker_connections:表示nginx的工作进程(worker process)可以允许建立的外部连接数。

   注意

          一个工作进程(worker process)建立一个连接后,进程将会打开一个文件副本,所以这个数(worker_connections)的大小还和操作系统设定的进程最大可打开的文件副本数有关。

 

更新操作系统 "进程最大可打开的文件数"

  $ su - root

  # vim /etc/security/limits.conf

      配置文件中加入

*   soft   nofile  65535
*   hard   nofile  65535

    *: 表示所有的用户,也可以指定指定的用户或用户组
    soft: 表示应用软件级别限制的最大可打开的文件数的限制
    hard: 表示操作系统级别限制的最大可打开的文件数的限制

   # :wq  保存配置文件

   # ulimit -n 65535 / reboot  保证本次会话生效,使用ulimit或reboot命令

   # ulimit -a  查看 open files 这一行的值是否生效

  注意:

         需要以 root 用户来进行操作

 

更改nginx软件"进程最大可打开的文件数"

更改ngnix的配置文件

events : {
	use epoll;
	worker_connections 65535;
}

 

验证nginx 进程最大可打开的文件数 是否生效

   1、重新启动nginx

   # ngins -s reload

   2、找到nginx 的 worker process的pid的值

   # ps aux | grep nginx 

   3、查看max open files
   # cat /proc/pid/limits

 

nginx充当反向代理服务器时,max_client的计算

max_client = worker_processes * worker_connections / 4

    max_client表示的是nginx充当反向代理服务器时可同时承载的最大连接数,但是为什么需要处理4呢?这是因为在反向代理时,浏览器会和nginx建立2条连接,nginx也会建立对应的2条连接到后端服务器,因此就有4条连接了,所以需要除以4.