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

我正在运行Ubuntu服务器。 这就是我所做的:

在/etc/security/limits.conf:

* soft nofile 10240 * hard nofile 10240 

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

 session required pam_limits.so 

nginx会自己configuration/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数据用户身份运行nginx。

configuration/etc/security/limits.conf是专用于PAM 。 一般而言, PAM不用于pipe理诸如nginx之类的 服务的软件。

因此,从init , upstart到systemd的所有内容都根本不使用limits.conf

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

在所有configuration块之外(不在httpserver )添加:

 worker_rlimit_nofile 10240 

检查/etc/security/limits.conf的权限。 它应该是世界可读的(模式0644)。

我花了很多时间试图找出为什么限制不会生效。