Page 1 of 1

Ошибка Nginx после добавления доменов

Posted: Fri Apr 07, 2017 1:48 am
by MrConstantine
Добрый день.
Появилась такая ошибка:

Code: Select all

● nginx.service - LSB: Stop/start nginx
   Loaded: loaded (/etc/init.d/nginx)
   Active: failed (Result: exit-code) since Thu 2017-04-06 20:58:45 EDT; 3s ago
  Process: 28686 ExecStart=/etc/init.d/nginx start (code=exited, status=1/FAILURE)

Apr 06 20:58:45 domain.com nginx[28686]: nginx: [emerg] open() "/var/log/apache2/domains/sub.domain.com.bytes" failed (24: Too many open files)
Apr 06 20:58:45 domain.com systemd[1]: nginx.service: control process exited, code=exited status=1
Apr 06 20:58:45 domain.com systemd[1]: Failed to start LSB: Stop/start nginx.
Apr 06 20:58:45 domain.com systemd[1]: Unit nginx.service entered failed state.
Увеличение лимитов не помогло.

cat /etc/security/limits.conf

Code: Select all

*               hard    nofile          500000
*               soft    nofile          500000

root             -       nofile          999999
www-data         -       nofile          999999
root             -       nproc           unlimited
www-data         -       nproc           unlimited
cat /etc/nginx/nginx.conf

Code: Select all

worker_rlimit_nofile 999999;
cat /etc/sysctl.conf

Code: Select all

fs.file-max = 4954650
Доменов добавлено 341.

Re: Ошибка Nginx после добавления доменов

Posted: Fri Apr 07, 2017 10:27 am
by skurudo
Потому что systemd и теперь немного не так - https://skurudo.ru/all/nginx-too-many-open-files/

Re: Ошибка Nginx после добавления доменов

Posted: Fri Apr 07, 2017 10:49 am
by MrConstantine
Спасибо. Это правильное решение. Я бы еще добавил после проделанного нужно выполнить команду:
systemctl daemon-reload
и только потом restart service

Re: Ошибка Nginx после добавления доменов

Posted: Fri Apr 07, 2017 11:07 am
by skurudo
Логично, но точно помню, работало без перезапуска демона.

Re: Ошибка Nginx после добавления доменов

Posted: Tue Sep 05, 2017 7:53 am
by linca
А мне че-то не помогло решение (убунту 16.04):

Code: Select all

root@serv:~# mkdir -p /etc/systemd/system/nginx.service.d/
root@serv:~# nano /etc/systemd/system/nginx.service.d/limits.conf
root@serv:~# service nginx restart
Warning: nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
root@serv:~# systemctl daemon-reload
root@serv:~# service nginx restart
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
root@serv:~#
Куда копнуть?
При этом вообще как-то странно, в панели пишет, что nginx запущен, заголовки ответа от сайтов тоже nginx подписаны...
а от панели каждое утро такие письма приходят:

Code: Select all

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

Re: Ошибка Nginx после добавления доменов

Posted: Sat Sep 09, 2017 11:40 am
by linca
В общем непонятно почему, было запущено 2 master-процесса nginx, после kill - все заработало и через панель теперь рестартится тоже..

Re: Ошибка Nginx после добавления доменов

Posted: Mon Sep 11, 2017 5:20 am
by skurudo
linca wrote:

Code: Select all

See "systemctl status nginx.service" and "journalctl -xe" for details.
В такие моменты стоит показывать все-таки выводы systemd, гораздо информативнее будет.

Re: Ошибка Nginx после добавления доменов

Posted: Tue Sep 12, 2017 1:37 am
by linca
Да там ниче интересного. Я все прогуглил - бестолку...

Re: Ошибка Nginx после добавления доменов

Posted: Tue Sep 12, 2017 8:41 am
by skurudo
Гугление - хорошо, но коллективный разум тоже иногда выручает :)

Re: Ошибка Nginx после добавления доменов

Posted: Tue Sep 12, 2017 11:44 am
by linca
Это да) Спасибо)

Ну вообще, я грешу на monit. Видимо как-то так получилось, что nginx падал, потом монит его запустил, а панель после этого не могла рестарт nginx'a сделать... Ну если еще раз повторится - то обязательно выложу лог systemd