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