ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
Konstantin Pavlov
thresh на nginx.com
Пт Ноя 10 14:37:54 UTC 2017
On 09/11/2017 17:57, Gena Makhomed wrote:
> 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 не останавливаается.
Это, кстати, не работает в systemd-мире и не сказать, что бы это сильно заботило авторов: https://github.com/systemd/systemd/issues/2175
> В юнит-файле CentOS 7 эта строчка
>
> ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
>
> выглядит совершенно лишней и не нужной, она только создает проблемы.
>
> Может быть имеет смысл вообще убрать строку
>
> ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
>
> из юнит-файла? Хуже от этого ведь не станет, только лучше.
>
> Или я ошибаюсь и в этой строчке есть какой-смысл? Какой?
Не ошибаетесь.
--
Konstantin Pavlov
www.nginx.com
Подробная информация о списке рассылки nginx-ru