ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Падения nginx под CentOS 5.2



On Sunday, November 16, 2008 at 17:23:17, Vladimir Stackov wrote:

>> >> третий (возможно самый правильный) способ обхода этого глюка -
>> >> вместо service nginx restart использовать service nginx reload
>> >> тогда этой проблемы с "падениями" nginx вроде бы не наблюдается.
>> 
>> VS> сейчас init-скрипт на месте, но модифицирован как раз для использования
>> VS> reload вместо restart, поэтому третий вариант действительно самый 
>> правильный.
>> 
>> самый-самый правильный способ обхода этого глюка - это чтобы его вообще не 
>> было.
>> но сколько я не смотрел в исходники nginx, так и не смог понять причину 
>> глюков.

VS> Причина проста - http://sysoev.ru/nginx/docs/control.html
VS> Это даже не проблема. Просто в init-скрипте процесс завершается
VS> с помощью QUIT сигнала. Но даже если TERM посылать, то всё-равно манагер
VS> в некоторых случаях делает start раньше завершения мастер-процесса.

насколько я понимаю, изначально задумывалось
так, чтобы последовательность команд

kill -QUIT `cat /var/run/nginx.pid` ; /usr/sbin/nginx

всегда работала нормально. (?) и насколько мне известно,
при использовании FreeBSD такой проблемы не наблюдается.

для этого, например, новый master пытается несколько раз с паузами
в 500 милисекунд сделать bind, а старый master, сразу как увидит
сигнал QUIT, закрывает listening socket, чтобы не мешать новому.

-- 
Best regards,
 Gena




 




Copyright © Lexa Software, 1996-2009.