ПРОЕКТЫ 


  АРХИВ 


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: Кеширование запроса







2009/2/13 Монашёв Михаил <postmaster@xxxxxxxxxxxxx>
Здравствуйте, Владимир.

Если на столько-то времени, то лучше всего кэшировать в мемкашеде. А
писать в него в движке форума.

Это все понятно, в других местах у меня так все и сделано. Этот форум - почти некоммерческий, дописывать его особенно никто не желает, но ресурсов занимает прилично.
 
Но можно и через 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 не работает, nginx 0.6.35.
 


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/
Без бэкапа по жизни.





--
Vladimir Rusinov
http://greenmice.info/


 




Copyright © Lexa Software, 1996-2009.