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

Борис Долгов boris at dolgov.name
Sun May 3 21:34:02 MSD 2009


Ура!
Наконец-то кто-то это сделал. Мучения сотен пользователей nginx+ISPmanager
на centos/fedora закончены! :-)

3 мая 2009 г. 20:30 пользователь Gena Makhomed <gmm at csdoc.com> написал:

> On Monday, April 27, 2009 at 18:16:27, Igor Sysoev wrote:
>
> >> >> >    restart() {
> >> >> >        configtest || return $?
> >> >> >        stop
> >> >> >        start
> >> >> >    }
> >>
> >> MD> Кроме того, старый процесс после окончания завершения удалит
> >> MD> pid-файл, и это скорее всего уже будет pid-файл нового процесса.
> >>
> >> похоже что причина глюка в другом: новый nginx не будет запускаться
> >> командой "daemon $nginx -c $NGINX_CONF_FILE" если старый nginx не успел
> >> удалить свой pid-файл. [ функция daemon() из /etc/init.d/functions ]
> >>
> >> этот init-скрипт для nginx используется в CentOS, EPEL, Fedora.
> >> хотелось бы сделать какое-то нормальное решение а не ugly hack.
> >>
>    ...
> >>
> >> или можно придумать что-то лучшее? например, переименовывать
> >> старый pid-файл как можно скорее после получения сигнала
> >> из nginx.pid в nginx.pid.oldbin и потом не спеша удалять
> >> его в момент полного завершения работы старого мастера?
>
> IS> В смысле переименовывать самому nginx'у ?
> IS> По-моему, нужно лечить скрипты: у nginx'а сигналами всё нормально.
>
> Ok. поправил ошибку в init-скрипте, отправил патч мантейнеру пакета.
>
> -    killproc $prog -QUIT
> +    killproc $prog
>
> заодно добавил в init-script поддержку для "upgrade server on the fly".
>
> IS> Для быстрого завершения есть -TERM.
> IS> Для загрузки новой конфигурации есть -HUP.
> IS> Зачем нужен restart, я не понимаю.
>
> в основном - это для LSB-совместимости.
>
>
> http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
>
> а так - "service nginx reload" действительно гораздо лучше, чем "service
> nginx restart".
>
> P.S.
>
> возможно есть какие-то изменения в конфигурации, после которых "service
> nginx reload"
> не сработает, а сработает только "service nginx upgrade" или "service nginx
> restart".
>
> --
> Best regards,
>  Gena




-- 
С уважением, Борис Долгов.
icq 77556665
e-mail boris at dolgov.name
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090503/8c9f3ef7/attachment.html>


More information about the nginx-ru mailing list