image filter + proxy store
Priority1
nginx-forum at nginx.us
Sat Oct 13 21:28:58 UTC 2012
tzirulnicov Wrote:
-------------------------------------------------------
> Хочется силами nginx делать превьюшки, только если они ранее не
> делались.
>
> server{
> listen 81;
> server_name www.***.ru ***.ru;
> root /home/site_path/htdocs;
>
> location ~ ^/img_path/.*\.(?:jpg|jpeg|gif|png)_small1.jpeg$ {
> rewrite ^/img_path/(.*)_small1.jpeg$ /ee/wwfiles/$1;
>
> break;
> }
> }
>
>
> server{
> listen 80;
> ...
> location ~ ^/img_path/.*\.(?:jpg|jpeg|gif|png)_small1.jpeg$ {
> proxy_pass http://127.0.0.1:81;
> proxy_set_header Host $host;
>
> proxy_store on;
> proxy_store_access user:rw group:rw all:r;
> proxy_temp_path /home/img_cache_path;
> root /home/img_cache_path;
> }
> }
>
> - кэш не работает, превьюшка создаётся заново при каждом запросе и
> сохраняется в /home/img_cache_path;
> Почему? Как сделать сохранение превьюшек, созданных при помощи image
> filter?
Попробуй примерно вот так:
location ~ ^/img_path/.*\.(?:jpg|jpeg|gif|png)_small1.jpeg$ {
root /home/img_cache_path;
try_files $uri /create_image$uri
}
location ~ ^/img_cache_path/img_path/.*\.(?:jpg|jpeg|gif|png)_small1.jpeg$
{
internal;
root /home;
proxy_pass http://127.0.0.1:81;
image_filter resize - 81;
proxy_set_header Host $host;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /home/img_cache_path;
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,231766,231767#msg-231767
Подробная информация о списке рассылки nginx-ru