nginx - 本地保存通过 image_filter 调整大小的图像

nginx - 本地保存通过 image_filter 调整大小的图像

我正在使用 nginx 中的 image_filter resize 来调整 Amazon S3 中的一组图像的大小。我希望能够保存调整大小后的图像,以便第二次及后续的图像请求不需要调整大小。我已经弄清楚了如何在 Nginx 中缓存原始图像,这样至少不会从 S3 连续检索图像,但我不知道如何在 nginx 服务器上缓存调整大小后的图像。这可能吗?

这是我的 nginx 配置的相关部分(该服务器所做的只是调整图像大小):

location / {

    try_files $uri @resizer; # directive to tell it to first look locally, then look @resizer
    root   /var/www/nginx-default/images/;
    image_filter   resize  400 300;
        image_filter_buffer 2048M;
        image_filter_jpeg_quality 75;
        image_filter_transparency off;
        error_page     415   = /empty;
    }

        location @resizer { 
            proxy_pass http://my-s3-bucket;
            proxy_store on;
        proxy_temp_path /var/www/nginx-default/cache$uri;
        proxy_store_access  user:rw  group:rw  all:r;
        image_filter   resize  400 300;
        image_filter_buffer 2048M;
        image_filter_jpeg_quality 75;
        image_filter_transparency off;
        root   /var/www/nginx-default/images/;
            error_page     415   = /empty;
                }

        location = /empty {
                empty_gif;
          }

有人有什么想法吗……?

答案1

此论坛帖子Igor Sysoev 回复此条目来自 Foswiki。

答案2

我推荐我的文章http://adw0rd.com/2012/django-nginx-image/en/。你可以取出一个配置文件并应用它,Django 不一定需要

相关内容