Page 1 of 1

Не работает рестарт nginx

Posted: Fri Nov 27, 2015 11:53 pm
by ramdweller
Здравствуйте, такая проблема, не рестартится nginx

Code: Select all

● nginx.service - Nginx - a high performance http(s) server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Sat 2015-11-28 00:42:07 CET; 8s ago
  Process: 16038 ExecStart=/usr/sbin/nginx (code=exited, status=1/FAILURE)

Nov 28 00:42:07 localhost nginx[16038]: nginx: [emerg] open() "/var/log/nginx/domains/site.ru.error.log" failed (24: Too many open files)
Nov 28 00:42:07 localhost systemd[1]: nginx.service: control process exited, code=exited status=1
Nov 28 00:42:07 localhost systemd[1]: Failed to start Nginx - a high performance http(s) server.
Nov 28 00:42:07 localhost systemd[1]: Unit nginx.service entered failed state.

был создан /lib/systemd/system/nginx.service

c содержимым

Code: Select all


[Unit]
Description=Nginx - a high performance http(s) server
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
[Install]
WantedBy=multi-user.target
до создания /lib/systemd/system/nginx.service
была такая ошибка

Code: Select all

 nginx.service - LSB: Stop/start nginx
 Loaded: loaded (/etc/init.d/nginx)
    Active: failed (Result: exit-code) since Fri 2015-11-27 22:48:24 CET; 6s ago
 Process: 5727 ExecStart=/etc/init.d/nginx start (code=exited, status=1/FAILURE)
 Nov 27 22:48:24 localhost systemd[1]: nginx.service: control process exited, code=exited status=1
 Nov 27 22:48:24 localhost systemd[1]: Failed to start LSB: Stop/start nginx.
 Nov 27 22:48:24 localhost systemd[1]: Unit nginx.service entered failed state.

Re: Не работает рестарт nginx

Posted: Sat Nov 28, 2015 9:21 pm
by skurudo
Самое распространенное решение с ошибкой «too many open files», когда увеличение лимитов ulimit (/etc/sysctl.conf и /etc/security/limits.conf) не помогает:

Code: Select all

worker_rlimit_nofile 16384;
Общеизвестное и разрекламированное решение, ноги его растут из документации. Однако в связи с широким появлением systemd в Debian 8 Jessie / CentOS 7, может возникнуть ситуация, когда перечисленные методы могут и не сработать. Идея фикса в принципе та же, но со стороны модной systemd:

Code: Select all

$ mkdir -p /etc/systemd/system/nginx.service.d/

Code: Select all

$ nano /etc/systemd/system/nginx.service.d/limits.conf
Оглашаем лимиты для сервиса:

Code: Select all

[Service]
LimitNOFILE=22222
Перезапускаем сервис и радуемся жизни.