ПРОЕКТЫ 


  АРХИВ 


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: limit req на статику и нет


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: limit req на статику и нет
  • From: proforg <proforg@xxxxxxxxxxxx>
  • Date: Sat, 9 Jan 2010 13:04:38 +0700
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to :content-type:content-transfer-encoding; bh=+j8XZghul3rBHH/1NcmeHaheG1U6q1Mqb1a+5dkZQsY=; b=PG2oHUb/MHCS0fxTEXv9M4wwtxDhhOUooFxuAYp5Mxvj9DcXup1OWjdhdDi9GnSaxV d7GQEw8t3ju8Y/7sUTYErJQngiS94m5TV6iusmT9xvqY0XbVwAfJ+rPBpLT54U3eHms4 jnH/2/ZqjBEgq2Fm8+sTVO37/OIRfJIfoAgAs=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type :content-transfer-encoding; b=ad4TkBroF6vCwM+r0auZO1iGwgsy+yqARMFP6Y23s84wW4m87CvhkkZMiy4uP9h4i1 tvp9xm+DHa8CACDx5yjqY60qRpws25O2CwKyPq8QD6F2oS/a7pGzvMnnxoKO7/QN51xE OwGXD9dJstyLEL+RlbTDnq/zKpUp0K/J5X+n8=
  • In-reply-to: <c1e29770c4c554504cbabad70750517a.NginxMailingListRussian@xxxxxxxxxxxxxxx>
  • References: <c1e29770c4c554504cbabad70750517a.NginxMailingListRussian@xxxxxxxxxxxxxxx>

Прощще и эффективнее всего, если известна структура сайта (а это
условие, я так понимаю, выполнено),
разнести статику и динамику на уровне location'ов, с регекспами или
без оных, как уж получится
Тогда такие проблемы отпадут как бэ сами собой :)

Если же возникают проблемы с "приоритетами" - то вдумчиво читать
документацию, 
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location
Имеющихся средств "приоритезации" хватает за глаза для абсолютного
большинства ситуаций.

Или, если хочется/неободимо проверять наличие файлов - то try_files
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#try_files
что по сути всё равно сведётся к 2м локейшнам и решит проблему


2010/1/9 Vanya <nginx-forum@xxxxxxxx>:
> Продолжаем разговор о невозможном (а может и возможном?)
>
> стоит apache, спрятанный за nginx`ом (проапгрейдил до 0.7.64)
>
> на сервере есть куча статики (ее отдает nginx) и куча нестатики, которую 
> обрабатывает апач.
>
> фильтрация запросов и отделение статики от нестатики реализовал в конфиге при 
> помощи чудовищной, на первый взгляд, конструкции в виде двух if
>
>
> if (!-e $request_filename) {
> proxy_pass <апач>
> }
> if (-e $request_filename) {
> expires 14d;
> }
>
>
> Возможно есть более правильные варианты (если не лень, подскажите, буду рад), 
> но в любом случае по производительности этот вариант меня пока устраивает . 
> Вернее устраивал.
>
> Устраивал, пока я не захотел прикрутить limit_req. (любители скачать сайт на 
> свой компьютер при помощи всяких телепортов невольно ддосят его:)
>
> Собственно задача: я хочу задать разные ограничения на количество соединений. 
> Чтобы статика, к примеру, лимитировалась 20 r/s, а динамика - 1r/s (ибо апач 
> тянет за собой мускул, а сервер всего один и ресурсы его не безграничны)
>
> Проблема в том, что limit_req не умеет жить в if`е, по определению. Как 
> решить мою задачу, есть идеи?




-- 
Aleksej Besciokov
EMail/JID: proforg@xxxxxxxxxxxx
phone: +7 495 7853149
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.