Re: Кеширование через создание статических файлов
Vladimir Rusinov
vladimir на greenmice.info
Ср Июл 6 14:05:28 UTC 2011
2011/7/6 achekalin <nginx-forum at nginx.us>
> Добрый день!
>
> Пытаюсь реализовать такую логику
> работы сайта, страницы на котором
> меняются достаточно редко:
>
> - приходит запрос на страницу
> - если страницы в виде статической
> версии (.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 {
proxy_pass http://apache/gencache.php?page=$uri;
}
Не уверен что это будет работать, но попробовать можно.
--
Vladimir Rusinov
http://greenmice.info/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110706/d11f199d/attachment.html>
Подробная информация о списке рассылки nginx-ru