无法提高 nginx 最大打开文件数限制

无法提高 nginx 最大打开文件数限制

我正在运行 Ubuntu Server。这是我所做的:

/etc/security/limits.conf:

*               soft    nofile          10240
*               hard    nofile          10240

并在 /etc/pam.d/common-session 中添加:

session required pam_limits.so

以及 nginx conf 本身 /etc/nginx/nginx.conf

user www-data;
worker_processes 1; #I have only 1 core
pid /run/nginx.pid;

events {
    worker_connections 10240;
    # multi_accept on;
}

worker_rlimit_nofile 10240;

但尝试确认变化:

root@ubuntu_ngix:~# ulimit -Hn
4096
root@ubuntu_ngix:~# ulimit -Sn
1024

我已经重启了 nginx 和服务器,但仍然没有任何反应。我到底做错了什么?

我以 www-data 用户身份运行 nginx。

答案1

该配置/etc/security/limits.conf特定于聚丙烯酰胺聚丙烯酰胺,一般来说,不被软件使用管理服务例如nginx

所以一切从在里面, 到暴发户, 到systemdlimits.conf根本不要使用。

nginx具有用于增加文件描述符限制的特定配置设置worker_rlimit_nofile

在所有配置块外面(不是 inhttp或 a server)添加:

worker_rlimit_nofile 10240

答案2

检查 的权限/etc/security/limits.conf。它应该是所有人都可读的(模式 0644)。

我花了很多时间试图弄清楚为什么限制之前不会生效。

相关内容