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