Re: Оптимизация конфига

Илья Шипицин chipitsine at gmail.com
Tue Feb 26 02:59:21 UTC 2013


погоня за универсальностью обычно всё хорошее и убивает.


25 февраля 2013 г., 23:19 пользователь Дмитрий Лялюев <dmitriy at lyalyuev.info
> написал:

> Спасибо, подумаю. Но что-то меня смущает замена конфига полностью.
> 25.02.2013 18:35 пользователь "Илья Шипицин" <chipitsine at gmail.com>
> написал:
>
> например, на время деплоя подменять конфигурацию на вот такую
>>
>>     server {
>>         listen       80;
>>         server_name  localhost;
>>
>>     error_page 404 =503  /404.html;
>>     root /etc/nginx/docs;
>>
>>
>>         location / {
>>           index nonexistent.html;
>>         }
>>     }
>>
>>
>> файл /etc/nginx/docs/404.html будет отдаваться на любой запрос, ответ
>> будет с кодом 503
>>
>>
>>
>> 25 февраля 2013 г., 21:47 пользователь Дмитрий Лялюев <
>> dmitriy at lyalyuev.info> написал:
>>
>>> Ну эта страничка выдается только в момент деплоя новой версии, т.е. не
>>> более нескольких минут. Думаю, что это не сильно критично.
>>>
>>> Но вот как сделать правильно?
>>> Т.е. как сделать так, чтоб при наличии этого файла отдавалась эта
>>> страница, но с кодом 503?
>>> Подскажете в какую стороны посмотреть?
>>>
>>>
>>> 25 февраля 2013 г., 17:02 пользователь Илья Шипицин <
>>> chipitsine at gmail.com> написал:
>>>
>>> абсолютных критериев "правильности" нет.
>>>> если отдавать 200, то вас прямо так проиндексируют поисковики (если у
>>>> вас публичный сайт и вас это беспокоит)
>>>> если отдавать 503, то вашу заглушку не проиндексируют, но MSIE и Chrome
>>>> по умолчанию любят показывать "friendly" страницы ошибок и они подменят
>>>> вашу заглушку.
>>>>
>>>> в зависимости от этого выбираете компромисс.
>>>>
>>>>
>>>> 25 февраля 2013 г., 20:52 пользователь Дмитрий Лялюев <
>>>> dmitriy at lyalyuev.info> написал:
>>>>
>>>> 1. О try_files можно подробнее как сделать правильно?
>>>>> 2. С переменной понятно все, но тут лучше вряд ли выйдет, т.к.
>>>>> "движок" один для любого домена и поддомена, которые добавляются простой
>>>>> регистрацией на сайте. Не генерить же новый конфиг на каждую регистрацию?
>>>>>
>>>>> Про рерайты и условия - понимаю, но таковы реалии задачи. Хотя вроде
>>>>> бы ничего особо сложного там нет.
>>>>>
>>>>> Спасибо большое за ваши комментарии.
>>>>>
>>>>>
>>>>> 25 февраля 2013 г., 16:37 пользователь Илья Шипицин <
>>>>> chipitsine at gmail.com> написал:
>>>>>
>>>>>  вероятно, в этом месте
>>>>>>
>>>>>> try_files /maintenance.html $uri @apache;
>>>>>>
>>>>>> подразумевалась логика "если мы хотим повешать заглушку на сайт, то
>>>>>> мы положим файлик /maintenance.html",
>>>>>> это не очень хорошая идея, с точки зрения поисковых систем ответ
>>>>>> будет с кодом 200, прямо так вас и проиндексируют.
>>>>>>
>>>>>> с точки зрения нагрузки (если у вас высокая) переменную $HBW лучше
>>>>>> оформить в виде map-а, тогда она будет вычисляться только при обращении к
>>>>>> ней (сейчас каждый раз).
>>>>>>
>>>>>>
>>>>>> ну и вообще столько реврайтов и условий с регулярными выражениями
>>>>>> сильно снижает читаемость конфига.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 25 февраля 2013 г., 19:14 пользователь Дмитрий Лялюев <
>>>>>> dmitriy at lyalyuev.info> написал:
>>>>>>
>>>>>>>  Есть написанный мной конфиг. Хотелось бы выслушать предложения по
>>>>>>> его оптимизации и ругань, что я ламер и надо делать все не так. :) Поможете?
>>>>>>>
>>>>>>> server {
>>>>>>>     listen       80 default;
>>>>>>>     server_name  ~^(?:www\.)*(?<HBW>.+)$;
>>>>>>>     server_name_in_redirect  off;
>>>>>>>
>>>>>>>     access_log off;
>>>>>>>     error_log /var/log/nginx/proxy.log;
>>>>>>>
>>>>>>>     root /var/www/apps/application/current/public;
>>>>>>>
>>>>>>>     include /etc/nginx/banned_ip.conf;
>>>>>>>
>>>>>>>     location / {
>>>>>>>         try_files /maintenance.html $uri @apache;
>>>>>>>
>>>>>>>         location ~ ^(/Help|/pub) {
>>>>>>>             proxy_pass        http://wiki.application.com;
>>>>>>>             proxy_set_header X-Real-IP $remote_addr;
>>>>>>>             proxy_set_header Host $host;
>>>>>>>             proxy_set_header X-Forwarded-For
>>>>>>> $proxy_add_x_forwarded_for;
>>>>>>>         }
>>>>>>>
>>>>>>>         location ~ /(assets|images/egg/sites) {
>>>>>>>             expires modified +30d;
>>>>>>>             access_log off;
>>>>>>>             try_files /maintenance.html $uri @apache;
>>>>>>>         }
>>>>>>>
>>>>>>>         location ~ ^/stylesheets/(.*)/(.*) {
>>>>>>>             rewrite /stylesheets/(.*) /assets/$1 last;
>>>>>>>         }
>>>>>>>
>>>>>>>         location ~ ^/(images|javascripts) {
>>>>>>>             rewrite /(images|javascripts)/(.*) /assets/$2 last;
>>>>>>>         }
>>>>>>>
>>>>>>>         location ~* \.(gif|jpg|png|ico)$ {
>>>>>>>             root /var/www/apps/application/current/eggs/$HBW;
>>>>>>>             access_log off;
>>>>>>>             expires modified +30d;
>>>>>>>             error_page 404 @apache;
>>>>>>>         }
>>>>>>>     }
>>>>>>>
>>>>>>>     location /crossdomain.xml$ {
>>>>>>>         root /var/www/crossdomains/$HBW;
>>>>>>>     }
>>>>>>>
>>>>>>>     location @apache {
>>>>>>>         proxy_pass         http://localhost:8080;
>>>>>>>         include /etc/nginx/proxy.conf;
>>>>>>>     }
>>>>>>> }
>>>>>>>
>>>>>>> Спасибо заранее. :)
>>>>>>>
>>>>>>> --
>>>>>>> С уважением,
>>>>>>> Дмитрий Лялюев
>>>>>>> тел. +380 (66) 532-29-62
>>>>>>> Все контакты для связи на http://lyalyuev.info
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> nginx-ru mailing list
>>>>>>> nginx-ru at nginx.org
>>>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> nginx-ru mailing list
>>>>>> nginx-ru at nginx.org
>>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> С уважением,
>>>>> Дмитрий Лялюев
>>>>> тел. +380 (66) 532-29-62
>>>>> Все контакты для связи на http://lyalyuev.info
>>>>>
>>>>> _______________________________________________
>>>>> nginx-ru mailing list
>>>>> nginx-ru at nginx.org
>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> nginx-ru mailing list
>>>> nginx-ru at nginx.org
>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>
>>>
>>>
>>>
>>> --
>>> С уважением,
>>> Дмитрий Лялюев
>>> тел. +380 (66) 532-29-62
>>> Все контакты для связи на http://lyalyuev.info
>>>
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru at nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130226/e7c00732/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru