如何在nginx中增加文件描述符限制?
有几种方法可以增加文件描述符:
编辑/etc/security/limits.conf并为nginx用户设置nofile软硬限制。
在/ etc / default / nginx中设置$ ULIMIT。 nginx init.d脚本设置为ulimit $ ULIMIT https://gist.github.com/aganov/1121022#file-nginx-L43
在nginx.conf中设置worker_rlimit_nofile http://wiki.nginx.org/NginxHttpMainModule#worker_rlimit_nofile
在启动时使用init.d脚本启动时,limits.conf中的设置限制是否会影响nginx?
我是否必须在init脚本中使用ulimit $ ULIMIT或者是否可以使用worker_rlimit_nofile?
在init脚本中使用ulimit $ ULIMIT时,是否仍需要使用worker_rlimit_nofile为每个worker设置限制?
由于
答案 0 :(得分:2)
增加限制的正确方法是设置worker_rlimit_nofile。
答案 1 :(得分:2)
讨论每个项目:
1)/etc/security/limits.conf仅由pam_limits处理。从init.d开始的进程通常不使用pam_limits。例如,需要在服务脚本中将初始级别的ulimit设置为。
2)默认的nginx init脚本没有此设置(至少对于官方Red Hat / CentOS软件包)。但是改变这个init脚本是一种有效的方法,尽管不建议这样做。
3)worker_rlimit_nofile仅在进程级别工作,它仅限于系统的硬限制(ulimit -Hn)。它用于动态更改nginx进程可以处理的最大文件描述符,通常使用系统的软限制来定义。