ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Оптимизация конфига
  • From: Дмитрий Лялюев <dmitriy@xxxxxxxxxxxxx>
  • Date: Mon, 25 Feb 2013 16:52:01 +0200
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lyalyuev.pp.ua; s=mail; h=x-received:mime-version:sender:x-originating-ip:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to :content-type; bh=uaEmPFLoJhxWNdzJghOj3WleCZ1o0aOYYx10st00uHg=; b=DwQH1K25ScoNGsq39l0m+eoCBm/c2abrbtlj/aUb0h0+G4eJ0/7pUSdJjBC1WizYpe qJY4UMrdrPf2S8XHp3+CK7ENYbC3BhLKkMDCqNSSfaAE3nidRw/pp3Sj9gZjSljFNObv 4c7zkWVE/LsG9y8/qTdnal4JSR5ORbbqC129U=
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lyalyuev.info; s=mail; h=x-received:mime-version:sender:x-originating-ip:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to :content-type; bh=uaEmPFLoJhxWNdzJghOj3WleCZ1o0aOYYx10st00uHg=; b=lKSOScOLHlP1Hsey+GaCYONG7U8eCPXT2wP3mHrzFfr9MbUalRW57j7dOapbfgVB0g FAwKhv93fJ70YkrYAs2s8/je38n396flpbZxQOz3eBCTZZUGcM37EOzbXowLhOs4uzXD V4ZuC/XuIC7LH1knPNVxfpQSYi06kkNl7Yp7I=
  • In-reply-to: <CAFHpkQEaHG0TqZivVbAEa5S3QyQibwL_mi-DmumVy-+KZ5Yxtw@mail.gmail.com>
  • References: <CAJTAb-k8TBjNpvgOcrOACQ=r-TLfvFEC1z5Wuz7OKVPYLGgw7w@mail.gmail.com> <CAFHpkQEaHG0TqZivVbAEa5S3QyQibwL_mi-DmumVy-+KZ5Yxtw@mail.gmail.com>

1. О try_files можно подробнее как сделать правильно?
2. С переменной понятно все, но тут лучше вряд ли выйдет, т.к. "движок" один для любого домена и поддомена, которые добавляются простой регистрацией на сайте. Не генерить же новый конфиг на каждую регистрацию?

Про рерайты и условия - понимаю, но таковы реалии задачи. Хотя вроде бы ничего особо сложного там нет.

Спасибо большое за ваши комментарии.


25 февраля 2013 г., 16:37 пользователь Илья Шипицин <chipitsine@xxxxxxxxx> написал:
вероятно, в этом месте

try_files /maintenance.html $uri @apache;

подразумевалась логика "если мы хотим повешать заглушку на сайт, то мы положим файлик /maintenance.html",
это не очень хорошая идея, с точки зрения поисковых систем ответ будет с кодом 200, прямо так вас и проиндексируют.

с точки зрения нагрузки (если у вас высокая) переменную $HBW лучше оформить в виде map-а, тогда она будет вычисляться только при обращении к ней (сейчас каждый раз).


ну и вообще столько реврайтов и условий с регулярными выражениями сильно снижает читаемость конфига.




25 февраля 2013 г., 19:14 пользователь Дмитрий Лялюев <dmitriy@xxxxxxxxxxxxx> написал:
Есть написанный мной конфиг. Хотелось бы выслушать предложения по его оптимизации и ругань, что я ламер и надо делать все не так. :) Поможете?

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|_javascript_s) {
            rewrite /(images|_javascript_s)/(.*) /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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru



--
С уважением,
Дмитрий Лялюев
тел. +380 (66) 532-29-62
Все контакты для связи на http://lyalyuev.info
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.