worker_rlimit_nofile 是否需要进行其他更改才能生效?

问题描述 投票:0回答:1

我们有一个带有 Nginx 的 Ubuntu 服务器。

ulimit -n
返回1024并且在/etc/nginx/nginx.conf中有以下设置:

user www-data;
worker_processes auto;

events {
    worker_connections 1024;
}

我们阅读了一些有关“优化 Nginx”、文件描述符、worker_connections 等的文档和各种博客。例如:https://docs.nginx.com/nginx-management-suite/admin-guides /配置/配置网关/

您可能还需要调整进程可以打开的最大文件描述符数 (worker_rlimit_nofile),以与工作连接数保持一致。请注意,rlimit_nofile 是一个系统设置,因此请务必检查您的 Linux 发行版的用户限制,因为这些限制可能更严格。

假设我们需要将工作连接数量增加一倍,从10242048。如果我们要修改配置(并重新启动 nginx):

user www-data;
worker_processes auto;
worker_rlimit_nofile 2048; // <<< added

events {
    worker_connections 2048; // <<< changed
}

考虑到

ulimit -n
返回 1024 就足够了吗?或者这些更改还不够,不会产生效果,需要通过运行来增加系统对文件描述符的软限制:

ulimit -n 2048

或者通过将以下行添加到 shell 配置文件(例如 /etc/security/limits.conf):

www-data soft nofile 2048
www-data hard nofile 2048

(不确定这是全部还是还有一些配置文件需要修改)

nginx nginx-config file-descriptor ulimit
1个回答
0
投票

两个地方都必须换。

  1. ulimit -n 2048

这将提高当前会话的软限制(如果您寻求永久更改,则在

/etc/security/limits.conf
中)

  1. 更改 Nginx 配置文件(/etc/nginx/nginx.conf)

希望这有帮助

worker_rlimit_nofile 2048;

worker_connections 2048;

© www.soinside.com 2019 - 2024. All rights reserved.