Ура!<br>Наконец-то кто-то это сделал. Мучения сотен пользователей nginx+ISPmanager на centos/fedora закончены! :-)<br><br><div class="gmail_quote">3 мая 2009 г. 20:30 пользователь Gena Makhomed <span dir="ltr"><<a href="mailto:gmm@csdoc.com">gmm@csdoc.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">On Monday, April 27, 2009 at 18:16:27, Igor Sysoev wrote:<br>
<br>
>> >> > restart() {<br>
>> >> > configtest || return $?<br>
>> >> > stop<br>
>> >> > start<br>
>> >> > }<br>
>><br>
>> MD> Кроме того, старый процесс после окончания завершения удалит<br>
>> MD> pid-файл, и это скорее всего уже будет pid-файл нового процесса.<br>
>><br>
>> похоже что причина глюка в другом: новый nginx не будет запускаться<br>
>> командой "daemon $nginx -c $NGINX_CONF_FILE" если старый nginx не успел<br>
>> удалить свой pid-файл. [ функция daemon() из /etc/init.d/functions ]<br>
>><br>
>> этот init-скрипт для nginx используется в CentOS, EPEL, Fedora.<br>
>> хотелось бы сделать какое-то нормальное решение а не ugly hack.<br>
>><br>
</div> ...<br>
<div class="im">>><br>
>> или можно придумать что-то лучшее? например, переименовывать<br>
>> старый pid-файл как можно скорее после получения сигнала<br>
>> из nginx.pid в nginx.pid.oldbin и потом не спеша удалять<br>
>> его в момент полного завершения работы старого мастера?<br>
<br>
</div>IS> В смысле переименовывать самому nginx'у ?<br>
IS> По-моему, нужно лечить скрипты: у nginx'а сигналами всё нормально.<br>
<br>
Ok. поправил ошибку в init-скрипте, отправил патч мантейнеру пакета.<br>
<br>
- killproc $prog -QUIT<br>
+ killproc $prog<br>
<br>
заодно добавил в init-script поддержку для "upgrade server on the fly".<br>
<br>
IS> Для быстрого завершения есть -TERM.<br>
IS> Для загрузки новой конфигурации есть -HUP.<br>
IS> Зачем нужен restart, я не понимаю.<br>
<br>
в основном - это для LSB-совместимости.<br>
<br>
<a href="http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html" target="_blank">http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html</a><br>
<br>
а так - "service nginx reload" действительно гораздо лучше, чем "service nginx restart".<br>
<br>
P.S.<br>
<br>
возможно есть какие-то изменения в конфигурации, после которых "service nginx reload"<br>
не сработает, а сработает только "service nginx upgrade" или "service nginx restart".<br>
<br>
--<br>
Best regards,<br>
<font color="#888888"> Gena</font></blockquote></div><br><br clear="all"><br>-- <br>С уважением, Борис Долгов.<br>icq 77556665<br>e-mail <a href="mailto:boris@dolgov.name">boris@dolgov.name</a><br>