我正在使用 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
答案2
我推荐我的文章http://adw0rd.com/2012/django-nginx-image/en/。你可以取出一个配置文件并应用它,Django 不一定需要