Welcome! Log In Create A New Profile

Advanced

Re: Отключить кэширвоание FastCGI для определенного location

September 08, 2009 03:48AM
On Tue, Sep 08, 2009 at 10:18:08AM +0400, Sergey V. Sokolov wrote:

> On Суббота 05 сентября 2009 15:11:40 Igor Sysoev wrote:
> > On Sat, Sep 05, 2009 at 02:38:23PM +0400, Sergey V. Sokolov wrote:
> > > On Суббота 05 сентября 2009 00:45:46 Dmitry wrote:
> > > > Грубо так:
> > > >
> > > > location /ajax/(.*\.php)$ {
> > > > .... fastcgi_cache off;
> > > > fastcgi_pass ...
> > > > ......
> > > > }
> > >
> > > Т.е. получается для каждого location нужно прописать все те же настройки
> > > FastCGI, но отключить кэш. Большое дублирование получается, а если
> > > локейшенов для которых нужно отключить не один :(
> >
> > Да. Есть два подхода к конфигурации location'ов:
> >
> > 1) Выбирается самый подходящий location и используется его конфигурация.
> > При этом наследуется конфигурация предыдущих уровней (server и http).
> > Удобно, особенно, если используются только статические location'ы,
> > для конфигураций с сотнями location'ов.
> >
> > 2) Проходим через все совпавшие location'ы и по пути собираем все
> > настройки. Удобно для простых конфигураций с парой location'ов (типа hello
> > world!). При увеличении числа location'ов боьше десятка добавление нового
> > location'а превращается в АДЪ.
> >
> > В nginx'е используется первый подход, потому что в своё время я на Апаче
> > вдоволь наконфигурился по второму методу (там этот бардак обеспечивается
> > наличием Directory, DirectoryMatch, Files/FilesMatch,
> > Location/LocationMatch, причём сначала на уровне глобального сервера, а
> > потом ещё и виртуального, ну и для полноты ощущений - раскиданный по
> > каталогам всеми любимый .htaccess).
>
> Было бы удобно иметь, опцию которая отвечает за объединение конфигураций всех
> подходящих локейшенов. Т.е. если опция включена, то все настройки со всех
> подходящих локешейнов суммируются и перекрываются в порядке следования в
> конфиге, а если отключена то стандарное поведение, индивидуальные
> неперекрывающиеся настройки.
>
> В Апачевском методе тоже есть некоторые плюсы.

Плюсы безусловно есть, особенно для небольших конфигураций. Проблема в том,
что по мере роста сайта эти плюсы превращаются в жирные минусы.
И практика показывает, что если людям дать такую опцию, то они ею непременно
воспользуются - потому что человек по своей природе ленив и его нужно
загонять в светлое будущее палками, то есть, заставлять делать
масштабируемую конфигурацию с самого начала.

Типичный Апачевский сайт начинается с одного глобального сайта с
Directory'ями, Location'ами и пары RewriteRule'ов. Потом появляются
дополнительные VirtualHost'ы и как-то всё вместе живёт, потому что
меняют по минимуму (лениво). Потом же конфигурации начинают конфликтовать
и наступает АДЪ. Поэтому на Апаче нужно сразу делать VirtualHost и
использовать только Location/LocationMatch.


--
Игорь Сысоев
http://sysoev.ru
Subject Author Posted

Отключить кэширвоание FastCGI для определенного location

Sergey V. Sokolov September 07, 2009 06:42PM

Re: Отключить кэширвоание FastCGI для определенного location

Dmitry September 07, 2009 06:30PM

Re: Отключить кэширвоание FastCGI для определенного location

gf pro September 07, 2009 06:24PM

Re: Отключить кэширвоание FastCGI для определенного location

Sergey V. Sokolov September 07, 2009 06:12PM

Re: Отключить кэширвоание FastCGI для определенного location

Igor Sysoev September 07, 2009 06:24PM

Re: Отключить кэширвоание FastCGI для определенного location

Sergey V. Sokolov September 08, 2009 02:26AM

Re: Отключить кэширвоание FastCGI для определенного location

Igor Sysoev September 08, 2009 03:48AM

Re: Отключить кэширвоание FastCGI для определенного location

Sergey V. Sokolov September 12, 2009 07:28AM

Re: Отключить кэширвоание FastCGI для определенного location

Igor Sysoev September 07, 2009 06:18PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 166
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready