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

Илья Шипицин chipitsine at gmail.com
Mon Feb 25 16:34:52 UTC 2013


например, на время деплоя подменять конфигурацию на вот такую

    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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130225/84785df2/attachment.html>


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