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

深碍√TFBOYSˉ_ 2024-02-19 18:26 25阅读 0赞

涉及到的nginx配置参数:

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

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

注意:

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

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

$ su - root

# vim /etc/security/limits.conf

配置文件中加入

  1. * soft nofile 65535
  2. * hard nofile 65535

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

# :wq 保存配置文件

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

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

注意:

需要以 root 用户来进行操作

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

更改ngnix的配置文件

  1. events : {
  2. use epoll;
  3. worker_connections 65535;
  4. }

验证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的计算

  1. max_client = worker_processes * worker_connections / 4

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

发表评论

表情:
评论列表 (有 0 条评论,25人围观)

还没有评论,来说两句吧...

相关阅读