Re: Падения nginx под CentOS 5.2
Gena Makhomed
gmm at csdoc.com
Sun Nov 16 19:24:24 MSK 2008
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
More information about the nginx-ru
mailing list