不是重复品:这不是重复的这个问题。我已经研究过这个问题了。这有助于提高 的限制worker processes
,但 nginxmaster process
继续分别保留1024
和4096
。后一种细微差别才是这个问题的真正意义所在。
问题:
我正在增加 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
将恢复为1024
和4096
(我运行前面提到的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 上实现此目的的最佳方法是什么?希望有一个实际有效的说明性示例。