设置nginx进程可打开最大的文件数 博客分类: nginx 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.