Огромное спасибо. теперь понимание настало!<div><br></div><div>А можно сюда же вопрос не по теме ?</div><div><br></div><div>Почему не работают эти локейшины:</div><div><br></div><div>server{</div><div>....</div><div><div>       location / {</div>

<div>            try_files $uri $uri/ /index.php;</div><div>       }</div><div><br></div><div>        location /32x45/ {</div><div>            proxy_pass <a href="http://proxy/img/">http://proxy/img/</a>;</div><div>            image_filter   resize  32 45;</div>

<div>        }</div></div><div>....</div><div><br></div><div><div>      location ~ \.php$ {</div><div>            proxy_set_header    Host    $host;</div><div>            proxy_pass   <a href="http://127.0.0.1">http://127.0.0.1</a>;</div>

<div>            proxy_set_header    X-Forwarded-For $remote_addr;</div><div>        }</div></div><div><br></div><div>}</div><div>_______________________________</div><div>С Уважением, Алексей Масленников<br><br>Jabber: <a href="mailto:minisotm@jabber.ru" target="_blank">minisotm@jabber.ru</a><br>


<br><br><div class="gmail_quote">3 августа 2011 г. 14:07 пользователь Gena Makhomed <span dir="ltr"><<a href="mailto:gmm@csdoc.com">gmm@csdoc.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">On 03.08.2011 12:27, Алексей Масленников wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
на системе CentOS release 5.3 (Final)<br>
</blockquote>
<br></div>
где Вы взяли такой древний и глючный инит-скрипт?<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Запускается раза с 5-го<br>
</blockquote>
<br></div>
т.е. нормально не работает service nginx start ?<div class="im"><br>
<br>
> restart пишет что все ОК, но не работает .<br>
<br></div>
или проблемы только с service nginx restart ?<br>
<br>
что при этом пишется на stderr и в error.log ?<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
make_dirs() {<br>
    # make required directories<br>
    user=`nginx -V 2>&1 | grep "configure arguments:" | sed<br>
's/[^*]*--user=\([^ ]*\).*/\1/g' -`<br>
    options=`$nginx -V 2>&1 | grep 'configure arguments:'`<br>
    for opt in $options; do<br>
        if [ `echo $opt | grep '.*-temp-path'` ]; then<br>
            value=`echo $opt | cut -d "=" -f 2`<br>
            if [ ! -d "$value" ]; then<br>
                # echo "creating" $value<br>
                mkdir -p $value && chown -R $user $value<br>
            fi<br>
        fi<br>
    done<br>
}<br>
</blockquote>
<br></div>
возможно имеет смысл эту функциональность перенести<br>
внутрь /usr/sbin/nginx, чтобы он сам создавал каталоги.<br>
потому что через shell-скрипт получается не очень красиво...<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
stop() {<br>
     echo -n $"Stopping $prog: "<br>
     killproc $prog -QUIT<br>
     retval=$?<br>
     echo<br>
     [ $retval -eq 0 ] && rm -f $lockfile<br>
     return $retval<br>
}<br>
</blockquote>
<br></div>
причина глюков с restart - именно в этом,<br>
старому экземпляру nginx посылают сигнал -QUIT<br>
- это команда на "плавное завершение" и после<br>
этого - сразу же запускают новый экземпляр.<br>
<br>
если убрать -QUIT - то service nginx stop будет завершать<br>
его работу гораздо быстрее, сразу обрывая все соединения.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
restart() {<br>
     configtest || return $?<br>
     stop<br>
     sleep 1<br>
     start<br>
}<br>
</blockquote>
<br></div>
sleep 1 - это не очень хороший workaround для вручную созданного<br>
глюка, старый экземпляр nginx может и не успеть выйти за 1 секунду.<br>
<br>
кроме того - нет никакого смысла использовать restart, когда<br>
в nginx есть <a href="http://sysoev.ru/nginx/docs/control.html#upgrade" target="_blank">http://sysoev.ru/nginx/docs/<u></u>control.html#upgrade</a><br>
да и большинство изменений в конфигурации применяются<br>
с помощью команды service nginx reload<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
force_reload() {<br>
     restart<br>
}<br>
</blockquote>
<br>
очень старый инит-скрипт, эти ошибки были исправлены<br>
в нем еще несколько лет тому назад. по крайней мере,<br>
в init-скрипте из EPEL этих ошибок уже давно нет.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Как это отдебажить ? Спасибо.<br>
</blockquote>
<br>
см. в аттаче мой вариант инит-скрипта.<br>
<br>
после изменения настроек лучше делать service nginx reload<br>
а после обновления бинарника или чтобы на 100% быть уверенным,<br>
что все изменения применились - service nginx force-reload<br>
<br>
service nginx restart не имеет смысла вообще использовать.<br>
разве что только в том случае когда nginx так зависнет,<br>
что никак нельзя будет завершить, а только через kill -9<br>
( но лучше будет причину этой ошибки найти и устранить )<br>
<br>
там я еще сделал некоторую часть работы для того, чтобы<br>
можно было запускать одновременно несколько независимых<br>
экземпляров nginx на одном сервере, просто копируя<br>
инит-скрипт, например, в nginx-frontend, nginx-static, и т.п.<br>
меняя переменную pidfile и значение переменной instance -<br>
но пока что полностью это сделать не удалось - в nginx<br>
жестко вкомпилировано имя error.log файла и поэтому<br>
разные экземпляры nginx будут писать ошибки в один<br>
и тот же лог-файл, что не очень удобно и трудно<br>
потом будет понять, что к чему относится.<br>
<br>
на FreeBSD насколько я знаю, nginx "из коробки"<br>
поддерживает такой режим работы, что можно запускать<br>
несколько полностью независимых друг от друга экземпляров,<br>
но на Linux - такую функциональность сейчас сделать нельзя,<br>
не компилируя его много раз с различными параметрами configure.<br>
<br>
-- <br>
Best regards,<br><font color="#888888">
 Gena<br>
</font><br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
<br></blockquote></div><br></div>