"service nginx restart" vs "service nginx reload"
Viatcheslav E. Kouznetsov
slava at auto.ru
Mon May 19 10:37:09 MSD 2008
Ну...nginx тут собственно ни при чем...
Можно выложить код стопа ?
On Monday 19 May 2008 05:16, Gena Makhomed wrote:
> Здравствуйте, All.
>
> =======================================================================
>
> один глюк неприятный заметил, практически во всех сборках nginx
> под linux - команда service nginx restart срабатывает через раз:
>
> restart() {
> configtest || return $?
> stop
> start
> }
>
> подозреваю, что причина здесь в том, что старый nginx еще не успел
> завершиться, а новый не сможет нормально стартануть пока не завершен
> старый. как workaround помогает вставить sleep 1|2|3 между stop и start.
> но мне этот вариант не очень нравится. или это единственное,
> что можно сделать в этой ситуации? такая ошибка проявляется
> в nginx из fedora/epel, ищу как лучше всего ее пофиксить.
>
> =======================================================================
>
> кстати, в каких случаях вместо "service nginx restart"
> можно использовать "service nginx reload" ?
>
> reload() {
> configtest || return $?
> echo -n $"Reloading $prog: "
> killproc $nginx -HUP
> RETVAL=$?
> echo
> }
>
> и в каких случаях обязательно нужно делать полный restart ?
>
> =======================================================================
>
> вот такой код в init-скрипте
>
> force_reload() {
> restart
> }
>
> говорит о том, что force_reload всегда идентично restart.
> если бы "service nginx restart" было бы всегда идентично
> "service nginx reload", то init-скрипт выглядел бы так:
>
> restart() {
> reload
> }
>
> но если nginx вообще не запущен, то в теперешней реализации
> сервиса "service nginx restart" приведет к его запуску,
> а "service nginx reload" - нет. кроме того, обновление
> пакета nginx в fedora/epel реализовано через condrestart:
>
> %postun
> if [ $1 -ge 1 ]; then
> /sbin/service %{name} condrestart > /dev/null 2>&1 || :
> fi
>
> condrestart|try-restart)
> [ ! -f $lockfile ] || restart
> ;;
>
> =======================================================================
More information about the nginx-ru
mailing list