Nginx文件描述符限制

时间:2013-06-04 13:51:12

标签: nginx file-descriptor

如何在nginx中增加文件描述符限制?

有几种方法可以增加文件描述符:

  1. 编辑/etc/security/limits.conf并为nginx用户设置nofile软硬限制。

  2. 在/ etc / default / nginx中设置$ ULIMIT。 nginx init.d脚本设置为ulimit $ ULIMIT https://gist.github.com/aganov/1121022#file-nginx-L43

  3. 在nginx.conf中设置worker_rlimit_nofile http://wiki.nginx.org/NginxHttpMainModule#worker_rlimit_nofile

  4. 在启动时使用init.d脚本启动时,limits.conf中的设置限制是否会影响nginx?

    我是否必须在init脚本中使用ulimit $ ULIMIT或者是否可以使用worker_rlimit_nofile?

    在init脚本中使用ulimit $ ULIMIT时,是否仍需要使用worker_rlimit_nofile为每个worker设置限制?

    由于

2 个答案:

答案 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进程可以处理的最大文件描述符,通常使用系统的软限制来定义。