<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 class="h5"><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">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>