Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Кеширование запроса
Здравствуйте, Владимир.
Если на столько-то времени, то лучше всего кэшировать в мемкашеде. А
писать в него в движке форума. Но можно и через proxy_store сохранять
файлик на диск и по крону его удалять.
А чтоб выделить именно это url можно написать вот такbt локейшны:
location = /ajax.php?do=vietvbb_stats&top=vietvbb_top_posters&result=15 {
client_body_temp_path /path/tmp;
root /path/cache/;
error_page 404 = @fetch;
}
location @fetch {
proxy_pass http://forum-ip:port;
proxy_store /path/cache/$request_uri;
proxy_temp_path /path/proxy-tmp;
}
> Подскажите пожалуйста как мне лучше организовать кеширование
> (пока) едиснтвенного запроса вида /ajax.php?do=vietvbb_stats
> top=vietvbb_top_posters result=15 на N минут. Судя по статистике оно
> кушает больше всего остального ресурсов, хотя обновляется в лучшем
> случае раз в час.
> Апстрим - патчено-перепатченый форум на invision, в который лезть не очень
> хочется.
> Пока остановлился на этом:
> location /ajax.php {
> if ($request_uri ~* "^/ajax.php\?do=vietvbb_stats> top=vietvbb_top_posters\ result=15$") {
> return 403;
> }
> proxy_pass http://127.0.0.1:80/ajax.php;
> }
> location / {
> proxy_pass http://127.0.0.1:80/;
> proxy_redirect off;
> }
> location ~*
> ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$
> root /home/samforum/public_html;
> access_log off;
> }
> подозреваю что мне нужно как-то использовать proxy_pass, но как
> это сделать в сочетании с if, чтобы не поломать другие ajax (которые
> кешировать не надо) не пойму.
--
С уважением,
Монашёв Михаил, SoftSearch.ru
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.
|