On 09.11.2017 15:56, Konstantin Pavlov wrote:
В чем смысл директивы
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
в файле /usr/lib/systemd/system/nginx.service ?
В инит-скрипте CentOS 6 все сделано правильно, там конфиг тестируется
только перед тем как выполнить рестар сервера:
restart() {
configtest_q || return 6
stop
start
}
configtest_q() {
$binary -t -q -c $config
}
и если тестирование конфигурации завершилось ошибкой -
работающий nginx не останавливаается.
В юнит-файле CentOS 7 эта строчка
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
выглядит совершенно лишней и не нужной, она только создает проблемы.
Может быть имеет смысл вообще убрать строку
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
из юнит-файла? Хуже от этого ведь не станет, только лучше.
Или я ошибаюсь и в этой строчке есть какой-смысл? Какой?
У меня из-за этой фигни nginx не поднялся после того,
как сервер перезапустился. В логах вот такая запись:
Nov 09 13:26:30 example.com nginx[851]: nginx: [warn] "ssl_stapling" ignored, host not found in
OCSP responder "ocsp.int-x3.letsencrypt.org" in the certificate
"/etc/letsencrypt/live/example.net/fullchain.pem"
Nov 09 13:26:51 example.com nginx[851]: nginx: [warn] "ssl_stapling" ignored, host not found in
OCSP responder "ocsp.int-x3.letsencrypt.org" in the certificate
"/etc/letsencrypt/live/example.net/fullchain.pem"
Nov 09 13:27:11 example.com nginx[851]: nginx: [warn] "ssl_stapling" ignored, host not found in
OCSP responder "ocsp.int-x3.letsencrypt.org" in the certificate
"/etc/letsencrypt/live/example.net/fullchain.pem"
Nov 09 13:27:31 example.com nginx[851]: nginx: [warn] "ssl_stapling" ignored, host not found in
OCSP responder "ocsp.int-x3.letsencrypt.org" in the certificate
"/etc/letsencrypt/live/example.net/fullchain.pem"
Nov 09 13:27:40 example.com systemd[1]: nginx.service start-pre operation timed
out. Terminating.
Nov 09 13:27:40 example.com systemd[1]: Failed to start nginx - high
performance web server.
Nov 09 13:27:40 example.com systemd[1]: Unit nginx.service entered failed state.
Nov 09 13:27:40 example.com systemd[1]: nginx.service failed.
После того как вручную сделал systemctl restart nginx - все поднялось.
Строчка в 13:26:30 - первая после запуска сервиса?
Из лога видно, что перед каждой такой строчкой [warn] nginx "думает"
примерно 20 секунд.
Таймаут получается ровно 90 секунд.
Что выводит systemctl -a show nginx.service | grep -i timeout?
# systemctl -a show nginx.service | grep -i timeout
TimeoutStartUSec=1min 30s
TimeoutStopUSec=1min 30s
JobTimeoutUSec=0
JobTimeoutAction=none
JobTimeoutRebootArgument=
--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru