Welcome! Log In Create A New Profile

Advanced

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

September 07, 2009 06:24PM
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).

> Или я ошибаюсь и все остальные настройки FastCGI будут применены из
> location ~ \.php$
> ???

Нет. Общие настройки можно описать на уровне server. Или http.

> > С Уважением,
> > Дмитрий.
> >
> > 04.09.2009 23:28, Sergey V. Sokolov пишет:
> > > Как реализовать сабж?
> > >
> > > Есть вот такой кусок конфига:
> > >
> > > location ~ \.php$ {
> > > fastcgi_param DOCUMENT_ROOT /www/zavolga;
> > > fastcgi_param SCRIPT_FILENAME
> > > /www/zavolga$fastcgi_script_name; fastcgi_ignore_headers Cache-Control
> > > Expires;
> > > fastcgi_pass unix:/var/tmp/php-fpm-zavolga.sock;
> > > fastcgi_cache zavolga;
> > > fastcgi_cache_key
> > > unix:/var/tmp/php-fpm-zavolga.sock/$host$request_uri; fastcgi_cache_valid
> > > 6h;
> > > fastcgi_cache_valid any 5m;
> > >
> > > fastcgi_index index.php;
> > > include fastcgi_params_chrooted;
> > > }
> > >
> > > Как отключить кэширование для некоторых location.
> > >
> > > Например это не помогло.
> > > location /ajax {
> > > fastcgi_cache off;
> > > }


--
Игорь Сысоев
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: 175
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