Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Принудительно обновить/ очистить кеш для определ енного локейшена
Возможно у тебя бекенд через заголовки устанавливает другие настройки
для валидности кеша попробуй добавить
proxy_ignore_headers X-Accel-Redirect X-Accel-Expires Expires Cache-Control;
2010/1/28 Denis Kot <denis.kot@xxxxxxxxx>:
> Сделал так:
>
> location ~*
> ^.+/infobar/.+\.(jpg|jpeg|gif|gz|zip|flv|rar|wmv|avi|css|swf|png|htc|ico|mpeg|mpg|txt|mp3|mov|js)$
> {
> proxy_cache_valid 200 1m;
> proxy_pass http://domain.ru;
> proxy_cache name;
> proxy_cache_min_uses 1;
> }
>
> location ~*
> ^.+\.(jpg|jpeg|gif|gz|zip|flv|rar|wmv|avi|css|swf|png|htc|ico|mpeg|mpg|txt|mp3|mov|js)$
> {
> proxy_pass http://domain.ru;
> proxy_cache name;
> proxy_cache_min_uses 1;
> proxy_cache_valid 200 24h;
> }
>
>
> Подождал 3 минуты, обновил инфобар. В логах все равно:
> HIT 1.2.3.4 "GET /blabla/infobar/3014023.png HTTP/1.0" 200 - 8761
> поменял на proxy_cache_valid 200 1s; - тоже никакой реакции, все равно HIT
> пробовал менять http://domain.ru на любой другой, картинка перестает
> грузиться, т.е. локейшн обрабатывается верно.
> что не так? или правила надо местами поменять? может второе правило
> выставляет 24h на все .png, в том числе и на инфобар?
>
>
> Denis Kot
>
>
>
>
> 28 января 2010 г. 13:21 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
>> On Thu, Jan 28, 2010 at 01:13:41PM +0200, Denis Kot wrote:
>>
>>> 28 января 2010 г. 13:01 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
>>> > On Thu, Jan 28, 2010 at 11:17:21AM +0200, Denis Kot wrote:
>>> >
>>> >> Требуется раз в сутки, допустим в 8оо обновлять картинки в
>>> >> кеше/очищать кеш картинок, которые находятся по определенному пути,
>>> >> например /blablabla/images/stat/
>>> >> сейчас прописано так:
>>> >>
>>> >> proxy_cache_path /var/nginx/cache
>>> >> levels=1:2 keys_zone=name:64m max_size=512m
>>> >> inactive=2h;
>>> >>
>>> >> location ~*
>>> >> ^.+\.(jpg|jpeg|gif|gz|zip|flv|rar|wmv|avi|css|swf|png|htc|ico|mpeg|mpg|txt|mp3|mov|js)$
>>> >> {
>>> >> expires 24h;
>>> >> log_not_found off;
>>> >> error_page 404 = @fetch;
>>> >> }
>>> >>
>>> >> location @fetch {
>>> >> internal;
>>> >> proxy_pass http://domain.ru;
>>> >> proxy_cache name;
>>> >> proxy_cache_min_uses 1;
>>> >> proxy_cache_valid 200 24h;
>>> >> proxy_cache_valid any 0;
>>> >> }
>>> >>
>>> >> т.е. по идее все картинки и файлы обновляются раз в 24 часа, так? или
>>> >> они обновляются только если с момента последнего кода 200 прошло 24
>>> >> часа?
>>> >
>>> > Ответ обновится, если со времени его получения прошло больше 24 часов.
>>>
>>> Со времени 1-го 200 ответа на определенный урл или с последнего ответа?
>>> Т.е. например есть http://domain.ru/image.png
>>> запросили его первый раз, получили 200, закешировали. потом народ его
>>> активно в течение суток запрашивает и получает из кеша и каждый раз
>>> получает 200. 24h с какого момента считается?
>>
>> Со времени получения от бэкенда.
>>
>>> >> нужно картинки в /blablabla/images/stat/ обновлять раз в 24 часа, а
>>> >> остальное можно и раз в 48 часов.
>>> >> при чем /blablabla/ может быть разный. т.е. /blabla/... и
>>> >> /blablabla/..., т.е. локейшн /stat/ надо взять из середины URI
>>> >
>>> > А откуда взялась конструкция с @fetch ? По аналогии с proxy_store ?
>>>
>>> взял из какого-то примера в интернете.
>>
>> К сожалению, в интернете много мусора.
>>
>>> > Для proxy_cache она не нужна:
>>> >
>>> > location ~*
>>> > ^.+/stat/.+\.(jpg|jpeg|gif|gz|zip|flv|rar|wmv|avi|css|swf|png|htc|ico|mpeg|mpg|txt|mp3|mov|js)$
>>> > proxy_cache_valid 200 48h;
>>> > proxy_pass http://domain.ru;
>>> > proxy_cache name;
>>> > proxy_cache_min_uses 1;
>>> > }
>>> >
>>> > location ~*
>>> > ^.+\.(jpg|jpeg|gif|gz|zip|flv|rar|wmv|avi|css|swf|png|htc|ico|mpeg|mpg|txt|mp3|mov|js)$
>>> >
>>> > proxy_pass http://domain.ru;
>>> > proxy_cache name;
>>> > proxy_cache_min_uses 1;
>>> > proxy_cache_valid 200 24h;
>>> > }
>>>
>>> т.е. наоборот. там 24h, а там 48h.
>>
>> Значит, наоборот.
>>
>>
>> --
>> Игорь Сысоев
>> http://sysoev.ru
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru@xxxxxxxxx
>> http://nginx.org/mailman/listinfo/nginx-ru
>>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://nginx.org/mailman/listinfo/nginx-ru
>
--
З повагою, Олег Черн?й
Кер?вник в?дд?лу розробок
?нтернет-група RIA [www.ig.ria.ua]
RIA Allegro
Тел: (0432) 555 202,
067-2952752
(0432)555 200 (багатоканальний)
Наш? продукти:
auto.RIA.ua - поиск вашего авто
dom.RIA.ua - недвижимость и земля
rabota.RIA.ua - работа в твоем городе
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|