4

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

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

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

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

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

在启动时开始使用脚本时设置限制limits.conf会影响 nginx吗?init.d

我必须在初始化脚本中使用 ulimit $ULIMIT 还是可以worker_rlimit_nofile使用它?

在初始化脚本中使用 ulimit $ULIMIT 时,是否还需要使用worker_rlimit_nofile为每个工作人员设置限制?

谢谢

4

2 回答 2

3

增加限制的正确方法是设置worker_rlimit_nofile。

于 2013-06-27T01:01:24.283 回答
3

讨论每个项目:

1) /etc/security/limits.conf 仅由 pam_limits 处理。从 init.d 开始的进程通常不使用 pam_limits。例如,需要在服务脚本中设置初始化级别的 ulimit。

2) 默认的 nginx 初始化脚本没有这个设置(至少对于官方 Red Hat/CentOS 软件包)。但是更改此初始化脚本是一种有效的方法,尽管不建议这样做。

3) worker_rlimit_nofile 仅在进程级别起作用,它仅限于系统的硬限制(ulimit -Hn)。它用于动态更改 nginx 进程可以处理的最大文件描述符,这通常由系统的软限制定义。

于 2014-01-22T20:40:29.867 回答