ПРОЕКТЫ 


  АРХИВ 


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: Проблема с кэшем



On Fri, Aug 19, 2011 at 06:26:29PM +0700, Игорь Вавржин wrote:
> Здравствуйте.
> 
> Периодически появляется такая проблема: в кэш nginx попадает примерно 
> вот такое содержимое
> 
> KEY: nsk|GET|site.com|/page.html
> X-Powered-By: PHP/5.3.6-6~dotdeb.0
> Expires: Mon, 26 Jul 1997 05:00:00 GMT
> Last-Modified: Fri, 19 Aug 2011 10:32:20 GMT
> Content-Type: text/html; charset=UTF-8
> 
> Соответственно при попытке обратиться повторно за ответом - браузер 
> ничего в ответ не получает (нет вообще контента) и говорит что адрес 
> недоступен.
> Спасает чистка кэша. Скажите что можно сделать, а то я в панике :)?

То есть, тела нет и HTTP/1.0 в начале тоже ?
Какая версия nginx'а ?

> server {
>      listen *:80 default;
> 
>      error_log /var/log/nginx/default.error.log;
>      access_log  /var/log/nginx/default.access.log;
> 
>      charset utf-8;
>      root /var/www/data;
> 
>      location / {
>          index index.php;
>          set $path_info $uri;
>          try_files $uri $uri/ /index.php?$args;
>      }

Вот это:

>      if ($request_method != "GET") {
>          set $not_cached 1;
>      }

не нужно. Для этого есть fastcgi_cache_methods, разрешает кэш для GET и HEAD.

>      location ~ \.php$ {
>          fastcgi_pass backend_local;
>          include fastcgi_params;
>          fastcgi_param PATH_INFO $path_info;
>          fastcgi_param SERVER_NAME $host;
> 
>          fastcgi_cache_bypass $is_args $not_cached $cookie_PHPSESSID 
> $cookie_no_nginx_cache;
>          fastcgi_no_cache $is_args $not_cached $cookie_PHPSESSID 
> $cookie_no_nginx_cache;
>          fastcgi_cache getpages;
>          fastcgi_cache_valid 200 301 302 304 15m;
>          fastcgi_cache_key 
> "$cookie_city_code|$request_method|$host|$request_uri";

Ключ лучше сделать
   "$host|$uri?$args|$cookie_city_code";


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

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


 




Copyright © Lexa Software, 1996-2009.