Кеширование FastCGI запросов
Igor Sysoev
is at rambler-co.ru
Wed Oct 7 22:15:51 MSD 2009
On Wed, Oct 07, 2009 at 08:51:59PM +0400, Dmitry Koterov wrote:
> Я смог придумать только такое:
>
>
> location ~ ^(какие-урлы-кэшировать)$ {
> set $test_cache_on "$cookie_debugMode$arg_nc$еще_что_должно_быть_пусто";
> if ($test_cache_on = "") {
> rewrite .* /php_cache last;
> }
> rewrite ^(.*)$ /index.php?$1 last;
> }
>
> location /php_cache_rotate {
> internal;
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_param SCRIPT_FILENAME $document_root/index.php;
> include fastcgi_params;
> fastcgi_cache your_zone;
> fastcgi_cache_valid 60m;
> fastcgi_cache_key "host=$host|uri=$request_uri|еще-от-чего-зависит-кэш";
> }
>
>
> Если есть более оптимальные варианты, буду рад услышать.
По-хорошему это надо бы делать как-то так:
fastcgi_no_cache $cookie_debugMode;
fastcgi_no_cache $arg_nc;
fastcgi_no_cache $http_authorization;
fastcgi_no_cache $http_pragma;
Возможно, завтра сделаю.
> 2009/10/6 1nsk.ru <alfa at 1nsk.ru>
>
> > А как обернуть всё это дело в
> >
> > ?
> > if ($http_cookie !~ "user_id") {
> > #кэшируем только гостям
> > }
> >
> > А то в if нельзя fastcgi_store
> >
> > spall пишет:
> >
> >> Спасибо большое. В следущий раз буду внимательней читать доки.
> >>
> >> Posted at Nginx Forum:
> >> http://forum.nginx.org/read.php?21,11465,11472#msg-11472
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list