<p>Полностью согласен.</p>
<div class="gmail_quote">26.02.2013 4:59 пользователь "Илья Шипицин" <<a href="mailto:chipitsine@gmail.com">chipitsine@gmail.com</a>> написал:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">погоня за универсальностью обычно всё хорошее и убивает.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">25 февраля 2013 г., 23:19 пользователь Дмитрий Лялюев <span dir="ltr"><<a href="mailto:dmitriy@lyalyuev.info" target="_blank">dmitriy@lyalyuev.info</a>></span> написал:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p>Спасибо, подумаю. Но что-то меня смущает замена конфига полностью.</p>
<div class="gmail_quote">25.02.2013 18:35 пользователь "Илья Шипицин" <<a href="mailto:chipitsine@gmail.com" target="_blank">chipitsine@gmail.com</a>> написал:<div><div><br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div>например, на время деплоя подменять конфигурацию на вот такую<br><br>    server {<br>        listen       80;<br>        server_name  localhost;<br><br>    error_page 404 =503  /404.html;<br>    root /etc/nginx/docs;<br>



<br><br>        location / {<br>          index nonexistent.html;<br>        }<br>    }<br><br><br></div>файл /etc/nginx/docs/404.html будет отдаваться на любой запрос, ответ будет с кодом 503<br><div><br></div></div><div class="gmail_extra">



<br><br><div class="gmail_quote">25 февраля 2013 г., 21:47 пользователь Дмитрий Лялюев <span dir="ltr"><<a href="mailto:dmitriy@lyalyuev.info" target="_blank">dmitriy@lyalyuev.info</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div dir="ltr">Ну эта страничка выдается только в момент деплоя новой версии, т.е. не более нескольких минут. Думаю, что это не сильно критично. <div><br></div><div>Но вот как сделать правильно?<br>Т.е. как сделать так, чтоб при наличии этого файла отдавалась эта страница, но с кодом 503?<br>





Подскажете в какую стороны посмотреть?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">25 февраля 2013 г., 17:02 пользователь Илья Шипицин <span dir="ltr"><<a href="mailto:chipitsine@gmail.com" target="_blank">chipitsine@gmail.com</a>></span> написал:<div>



<div><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>абсолютных критериев "правильности" нет.<br></div>если отдавать 200, то вас прямо так проиндексируют поисковики (если у вас публичный сайт и вас это беспокоит)<br>





</div>если отдавать 503, то вашу заглушку не проиндексируют, но MSIE и Chrome по умолчанию любят показывать "friendly" страницы ошибок и они подменят вашу заглушку.<br>
<br></div>в зависимости от этого выбираете компромисс.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">25 февраля 2013 г., 20:52 пользователь Дмитрий Лялюев <span dir="ltr"><<a href="mailto:dmitriy@lyalyuev.info" target="_blank">dmitriy@lyalyuev.info</a>></span> написал:<div>





<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">1. О try_files можно подробнее как сделать правильно?<div>2. С переменной понятно все, но тут лучше вряд ли выйдет, т.к. "движок" один для любого домена и поддомена, которые добавляются простой регистрацией на сайте. Не генерить же новый конфиг на каждую регистрацию?</div>








<div><br></div><div>Про рерайты и условия - понимаю, но таковы реалии задачи. Хотя вроде бы ничего особо сложного там нет.<br><br>Спасибо большое за ваши комментарии.</div></div><div class="gmail_extra"><br><br>

<div class="gmail_quote">25 февраля 2013 г., 16:37 пользователь Илья Шипицин <span dir="ltr"><<a href="mailto:chipitsine@gmail.com" target="_blank">chipitsine@gmail.com</a>></span> написал:<div><div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">вероятно, в этом месте<br><br> try_files /maintenance.html $uri @apache;<div><br></div><div>подразумевалась логика "если мы хотим повешать заглушку на сайт, то мы положим файлик /maintenance.html",<br>









</div><div>это не очень хорошая идея, с точки зрения поисковых систем ответ будет с кодом 200, прямо так вас и проиндексируют.<br><br></div><div>с точки зрения нагрузки (если у вас высокая) переменную $HBW лучше оформить в виде map-а, тогда она будет вычисляться только при обращении к ней (сейчас каждый раз).<br>









</div><div><br><br></div><div>ну и вообще столько реврайтов и условий с регулярными выражениями сильно снижает читаемость конфига.<br></div><div><br></div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">









25 февраля 2013 г., 19:14 пользователь Дмитрий Лялюев <span dir="ltr"><<a href="mailto:dmitriy@lyalyuev.info" target="_blank">dmitriy@lyalyuev.info</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">








<div><div>
<div dir="ltr">Есть написанный мной конфиг. Хотелось бы выслушать предложения по его оптимизации и ругань, что я ламер и надо делать все не так. :) Поможете?<div><br></div><div><div>server {</div><div>    listen       80 default;</div>











<div>    server_name  ~^(?:www\.)*(?<HBW>.+)$;</div><div>    server_name_in_redirect  off;</div><div><br></div><div>    access_log off;</div><div>    error_log /var/log/nginx/proxy.log;</div><div><br></div><div>    root /var/www/apps/application/current/public;</div>











<div><br></div><div>    include /etc/nginx/banned_ip.conf;</div><div><br></div><div>    location / {</div><div>        try_files /maintenance.html $uri @apache;</div><div><br></div><div>        location ~ ^(/Help|/pub) {</div>











<div>            proxy_pass        <a href="http://wiki.application.com" target="_blank">http://wiki.application.com</a>;</div><div>            proxy_set_header X-Real-IP $remote_addr;</div><div>            proxy_set_header Host $host;</div>











<div>            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</div><div>        }</div><div><br></div><div>        location ~ /(assets|images/egg/sites) {</div><div>            expires modified +30d;</div>











<div>            access_log off;</div><div>            try_files /maintenance.html $uri @apache;</div><div>        }</div><div><br></div><div>        location ~ ^/stylesheets/(.*)/(.*) {</div><div>            rewrite /stylesheets/(.*) /assets/$1 last;</div>











<div>        }</div><div><br></div><div>        location ~ ^/(images|javascripts) {</div><div>            rewrite /(images|javascripts)/(.*) /assets/$2 last;</div><div>        }</div><div><br></div><div>        location ~* \.(gif|jpg|png|ico)$ {</div>











<div>            root /var/www/apps/application/current/eggs/$HBW;</div><div>            access_log off;</div><div>            expires modified +30d;</div><div>            error_page 404 @apache;</div><div>        }</div>











<div>    }</div><div><br></div><div>    location /crossdomain.xml$ {</div><div>        root<span style="white-space:pre-wrap">  </span>/var/www/crossdomains/$HBW;</div><div>    }</div><div><br></div><div>    location @apache {</div>











<div>        proxy_pass         <a href="http://localhost:8080" target="_blank">http://localhost:8080</a>;</div><div>        include /etc/nginx/proxy.conf;</div><div>    }</div><div>}<br></div><div><br></div><div>Спасибо заранее. :)</div>









<span><font color="#888888">

<div><br></div>-- <br>С уважением,<br>Дмитрий Лялюев<br>тел. <a href="tel:%2B380%20%2866%29%20532-29-62" value="+380665322962" target="_blank">+380 (66) 532-29-62</a><br>Все контакты для связи на <a href="http://lyalyuev.info" target="_blank">http://lyalyuev.info</a>
</font></span></div></div>
<br></div></div>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">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></blockquote></div><br></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">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></blockquote></div></div></div><div><div><br><br clear="all"><div><br></div>
-- <br>С уважением,<br>Дмитрий Лялюев<br>

тел. <a href="tel:%2B380%20%2866%29%20532-29-62" value="+380665322962" target="_blank">+380 (66) 532-29-62</a><br>Все контакты для связи на <a href="http://lyalyuev.info" target="_blank">http://lyalyuev.info</a>
</div></div></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">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></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">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></blockquote></div></div></div><div><div><br><br clear="all"><div><br></div>
-- <br>С уважением,<br>Дмитрий Лялюев<br>

тел. <a href="tel:%2B380%20%2866%29%20532-29-62" value="+380665322962" target="_blank">+380 (66) 532-29-62</a><br>Все контакты для связи на <a href="http://lyalyuev.info" target="_blank">http://lyalyuev.info</a>
</div></div></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">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></blockquote></div><br></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">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></blockquote></div></div></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">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></blockquote></div><br></div>
<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></blockquote></div>