ПРОЕКТЫ 


  АРХИВ 


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: Кеширование через созда ние статических файлов





2011/7/6 achekalin <nginx-forum@xxxxxxxx>
Добрый день!

Пытаюсь реализовать такую логику
работы сайта, страницы на котором
меняются достаточно редко:

- приходит запрос на страницу
- если страницы в виде статической
версии (.html) нет, то вызываем php-скрипт
генерации страниц, и этот скрипт отдает
страницу и подкладывает ее в каталог со
статическими страницами.

location /pages/ {
    try_files /path/to/cache/ @backend;
}

location @backend {
   proxy_pass/fastcgi_pass/etc.
}
 
Сайт становится быстрее: кроме того,
что скрипт генерации не вызывается на
каждый хит, еще и last-modified отдается
честный, т.е. браузер и nginx прекрасно
договорятся безо всяких expire.

Проблема: в Apache я такое делал через
указание обработчиком 404 ошибки как раз
скрипта генерации страниц, который,
срабатывая, отдавал код http 200 (вместо 404)
и контент страницы. В nginx как ни пытался
(через обработчик 404, через try_files) - не
получается.

Как пытались? По-моему решение вполне очевидно.
Какие проблемы возникли?
 
я в nginx запутался
банально с тем, что скрипт генерации
страниц - это .php файл, т.е. его как-то
надо отдельно обрабатывать (у меня php
работает в Apache, на который проксируются
запросы через nginx).

можно сделать что-то типа

location @gencache {
}

Не уверен что это будет работать, но попробовать можно.

--
Vladimir Rusinov
http://greenmice.info/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.