Ура!<br>Наконец-то кто-то это сделал. Мучения сотен пользователей nginx+ISPmanager на centos/fedora закончены! :-)<br><br><div class="gmail_quote">3 мая 2009 г. 20:30 пользователь Gena Makhomed <span dir="ltr">&lt;<a href="mailto:gmm@csdoc.com">gmm@csdoc.com</a>&gt;</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>
&gt;&gt; &gt;&gt; &gt;    restart() {<br>
&gt;&gt; &gt;&gt; &gt;        configtest || return $?<br>
&gt;&gt; &gt;&gt; &gt;        stop<br>
&gt;&gt; &gt;&gt; &gt;        start<br>
&gt;&gt; &gt;&gt; &gt;    }<br>
&gt;&gt;<br>
&gt;&gt; MD&gt; Кроме того, старый процесс после окончания завершения удалит<br>
&gt;&gt; MD&gt; pid-файл, и это скорее всего уже будет pid-файл нового процесса.<br>
&gt;&gt;<br>
&gt;&gt; похоже что причина глюка в другом: новый nginx не будет запускаться<br>
&gt;&gt; командой &quot;daemon $nginx -c $NGINX_CONF_FILE&quot; если старый nginx не успел<br>
&gt;&gt; удалить свой pid-файл. [ функция daemon() из /etc/init.d/functions ]<br>
&gt;&gt;<br>
&gt;&gt; этот init-скрипт для nginx используется в CentOS, EPEL, Fedora.<br>
&gt;&gt; хотелось бы сделать какое-то нормальное решение а не ugly hack.<br>
&gt;&gt;<br>
</div>   ...<br>
<div class="im">&gt;&gt;<br>
&gt;&gt; или можно придумать что-то лучшее? например, переименовывать<br>
&gt;&gt; старый pid-файл как можно скорее после получения сигнала<br>
&gt;&gt; из nginx.pid в nginx.pid.oldbin и потом не спеша удалять<br>
&gt;&gt; его в момент полного завершения работы старого мастера?<br>
<br>
</div>IS&gt; В смысле переименовывать самому nginx&#39;у ?<br>
IS&gt; По-моему, нужно лечить скрипты: у nginx&#39;а сигналами всё нормально.<br>
<br>
Ok. поправил ошибку в init-скрипте, отправил патч мантейнеру пакета.<br>
<br>
-    killproc $prog -QUIT<br>
+    killproc $prog<br>
<br>
заодно добавил в init-script поддержку для &quot;upgrade server on the fly&quot;.<br>
<br>
IS&gt; Для быстрого завершения есть -TERM.<br>
IS&gt; Для загрузки новой конфигурации есть -HUP.<br>
IS&gt; Зачем нужен 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>
а так - &quot;service nginx reload&quot; действительно гораздо лучше, чем &quot;service nginx restart&quot;.<br>
<br>
P.S.<br>
<br>
возможно есть какие-то изменения в конфигурации, после которых &quot;service nginx reload&quot;<br>
не сработает, а сработает только &quot;service nginx upgrade&quot; или &quot;service nginx restart&quot;.<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>