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

涉及到的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.

posted @ 2018-05-15 17:36  huan1993  阅读(238)  评论(0编辑  收藏  举报