ПРОЕКТЫ 


  АРХИВ 


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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Проблема с кэшем
  • From: Igor Vavrjin <igor.vavrjin@xxxxxxxxx>
  • Date: Sat, 20 Aug 2011 00:30:27 +0700
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=dS+Qecxlg4whatMBES2BsiCYJ5srNmgWM3PxmVcBRhg=; b=SqTkieB7GebE8mMLhodeGTPkvPyVfmA0snIzv/5b4l8+fwXwT+CAaRr4QIczABW+wS 7Y0rQSr88aibfMbm8JcL7IPqS4GBbBle5el3kMxdE7IPp6i+QxcxjZjUrHz1a2IwyoPZ 8BJmhuU5tVLRiPoCsXUFFiZnLq046WBPzGRgs=
  • In-reply-to: <20110819134805.GA27327@xxxxxxxxx>
  • References: <4E4E4865.5030105@xxxxxxxxx> <20110819134805.GA27327@xxxxxxxxx>

19 августа 2011 г. 20:48 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
> 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 в начале тоже ?
Насчет HTTP не уверен (надо было приложить сам файл кэша, если еще раз
поймаю - приложу, сейчас таких файлов нет) - там в начале какие-то не
читаемые символы стоят типа
N<9D>NN^@^@^@^@<FF><FF><FF><FF><FF><FF><FF><FF>?NN^@^@^@^@:Dv1^@^@V^@<9E>^@TP/1.1
(но это взято из нормального кэша). Строка взята из консоли командой
less file_name - кодировка UTF-8

> Какая версия nginx'а ?
nginx version: nginx/0.8.54

>
>> 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
>
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.