Re: Nginx не "умирает" корректно
Gena Makhomed
gmm at csdoc.com
Mon Apr 27 18:39:59 MSD 2009
On Monday, April 27, 2009 at 13:54:09, Maxim Dounin 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.
будет ли нормальным решением проблемы добавить sleep 1 в функцию restart
restart() {
configtest || return $?
stop
sleep 1
start
}
или можно придумать что-то лучшее? например, переименовывать
старый pid-файл как можно скорее после получения сигнала
из nginx.pid в nginx.pid.oldbin и потом не спеша удалять
его в момент полного завершения работы старого мастера?
--
Best regards,
Gena
More information about the nginx-ru
mailing list