Nginx не "умирает" корректно

Maxim Dounin mdounin at mdounin.ru
Mon Apr 27 14:36:04 MSD 2009


Hello!

[Пожалуйста, не используйте HTML в рассылках если вы хотите чтобы 
ваши письма читали.  Спасибо.]

On Mon, Apr 27, 2009 at 04:05:25PM +0400, Denis V. Roghnovskiy wrote:

[...]

>    stop() {
> 
>        echo -n $"Stopping $prog: "
> 
>        killproc $prog -QUIT

QUIT - это плавное завершение.  Сколько оно займёт - неизвестно, 
зависит от поведения клиентов.

Не говоря уже о том что неплохо бы всё-таки pid-файл 
мастера использовать.

>        retval=$?
> 
>        echo
> 
>        [ $retval -eq 0 ] && rm -f $lockfile
> 
>        return $retval
> 
>    }
> 
>    restart() {
> 
>        configtest || return $?
> 
>        stop
> 
>        start
> 
>    }

Результатов плавного завершения никто не ждёт, сразу запускается 
новый nginx.  Которому bind'иться некуда.  Он конечно попытается 
несколько раз - но после этого выйдет с ошибкой.  При этом старый 
процесс когда-нибудь таки завершится.  И не будет ни одного живого 
nginx'а.

В общем - скрипт переписывать или restart не использовать.

Maxim Dounin





More information about the nginx-ru mailing list