ПРОЕКТЫ 


  АРХИВ 


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]

кеширование php скриптов


  • To: nginx-ru@xxxxxxxxx
  • Subject: кеширование php скриптов
  • From: "coramba" <nginx-forum@xxxxxxxx>
  • Date: Mon, 23 Jan 2012 06:29:00 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=QhpDfkYzIJ+RM22btp/XyyRvFCJ6C2zoCmAj5eyANys=; b=r5b6T0n2lQ8/Z+hV7/B/I6uT3EYZnO0chvaTXS9159WGf60oAFjuf3ab4OB/4Z1Vg3Mc1SLGkQFCz7J08KVycZPd2WOKHS0zS5Owh6BpGFBVMRQYdmYNOj0Ki+QWYVnr;

Приветствую!

Сори если вопрос нубский, но перечитав
кучу статей решения не нашел.
Задача следующая есть php скрипт
выдающий png-картику. Актуальность
картинки 2-3 часа, после чего надо
генерировать новую. Изначально был
написан вариант при котором полученная
картинка сохранялась в файл, а потом
раздавалась nginx'ом как статика. Но такой
вариант неудобен тем, что нужно
"ручками" удалять полученные файлы
каждые три часа. 

Тогда возникла идея кешировать nginx'ом
ответ скрипта на требуемое время. Но
реализовать задумку получилось только
частично. Работа скрипта явно
кешируется (содержимое картинки не
меняется в течении срока кеширования),
но при этом браузер получает код 200, а не
304 который требуется, и соответственно
запрашивает картинку повторно.
Подскажите пожалуйста в чем ошибка?

фагмент конфига:
==============8<----------------------------------------------------------------
        fastcgi_cache_path /var/cache/nginx levels= keys_zone=wholepage:64m;

        location ~*WoT/(.+)/dogtag.png {
                ...
                add_header      Cache-Control  private;
                add_header      Expires 10m;
                expires         10m;

                rewrite  ^/WoT/(.+)/dogtag.png$ /WoT/dogtag.php?text=$1;
        }

        location ~*WoT/dogtag.php {
                ...
                add_header      Cache-Control  private;
                add_header      Expires 10m;
                expires         10m;

                fastcgi_cache                   wholepage;
                fastcgi_cache_valid             304 30s;
                fastcgi_cache_valid             any 1m;
                fastcgi_cache_key               
"$request_method|$http_if_none_match|$host|$request_uri";
                fastcgi_hide_header     "Set-Cookie";
                fastcgi_ignore_headers  "Cache-Control" "Expires";
                
                include                         /etc/nginx/fastcgi_params;
                fastcgi_pass                    
unix:/tmp/fastcgi-www-img.socket;
        }

==============8<----------------------------------------------------------------
Версия nginx 0.8.54

С уважением, Денис

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,221536,221536#msg-221536

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


 




Copyright © Lexa Software, 1996-2009.