如何增加 Ubuntu 14.04 LTS 上 nginx 主进程的打开文件限制?

如何增加 Ubuntu 14.04 LTS 上 nginx 主进程的打开文件限制?

不是重复品:这不是重复的这个问题。我已经研究过这个问题了。这有助于提高 的限制worker processes,但 nginxmaster process继续分别保留10244096。后一种细微差别才是这个问题的真正意义所在。


问题:

我正在增加 nginx 的文件描述符限制,systemd如下所示:

1)创建limit.conf/etc/systemd/system/nginx.service.d/

2)在此文件中保存以下几行

[Service]
LimitNOFILE=100000

3)通过以下方式重启 nginxsudo service nginx restart

现在,当我这样做时cat /proc/$(ps aux | grep "nginx: master process" | grep -v grep | awk '{print $2}')/limits | grep "Max open files",我可以看到这个限制设置正确。

然而还有一个问题!

如果我重新启动系统然后重新进入,nginx 的默认值master process将恢复为10244096(我运行前面提到的cat命令来找出答案)。

但如果我发出sudo service nginx start,限制就会根据需要再次增加。

如何确保此设置在重启时不会丢失?希望能举个例子。我不想sudo service nginx restart每次都手动发出。


/etc/security/limits.conf附言:我也对和做了补充修改/etc/pam.d/common-session。如果您需要更多信息,请向我询问。

此外,还/etc/systemd/system/multi-user.target.wants/nginx.service包含:

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

但这是14.04,所以无论如何都行不通。在 Ubuntu 14.04 上实现此目的的最佳方法是什么?希望有一个实际有效的说明性示例。

相关内容