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;
}