Назад | Перейти на главную страницу

Не удается поднять максимальное количество открываемых файлов nginx

Я использую Ubuntu Server. Вот что я сделал:

/etc/security/limits.conf:

*               soft    nofile          10240
*               hard    nofile          10240

И добавил в /etc/pam.d/common-session:

session required pam_limits.so

И сам nginx conf /etc/nginx/nginx.conf

user www-data;
worker_processes 1; #I have only 1 core
pid /run/nginx.pid;

events {
    worker_connections 10240;
    # multi_accept on;
}

worker_rlimit_nofile 10240;

Но пытаюсь подтвердить изменения:

root@ubuntu_ngix:~# ulimit -Hn
4096
root@ubuntu_ngix:~# ulimit -Sn
1024

Я перезапускаю nginx, а также мой сервер, но все равно ничего. Что я здесь делаю не так?

Я запускаю nginx как пользователь www-data.

Конфигурация /etc/security/limits.conf специфичен для PAM. PAM, как правило, не используется программным обеспечением, управляет услугами Такие как nginx.

Так что все от в этом, чтобы выскочка, чтобы systemd не используйте limits.conf вообще.

nginx имеет специальный параметр конфигурации для увеличения предела дескриптора файла worker_rlimit_nofile.

Вне всех блоков конфигурации (не в http или server) Добавить:

worker_rlimit_nofile 10240

Проверьте разрешения /etc/security/limits.conf. Он должен быть доступен для чтения всем (режим 0644).

Я провел много лун, пытаясь понять, почему ограничения не действуют раньше.