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