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

Дмитрий Лялюев dmitriy at lyalyuev.info
Tue Feb 26 05:41:40 UTC 2013


Полностью согласен.
26.02.2013 4:59 пользователь "Илья Шипицин" <chipitsine at gmail.com> написал:

> погоня за универсальностью обычно всё хорошее и убивает.
>
>
> 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
>>
>
>
> _______________________________________________
> 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/d4fe2fb7/attachment.html>


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