博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx实时生成缩略图到硬盘上
阅读量:6701 次
发布时间:2019-06-25

本文共 1951 字,大约阅读时间需要 6 分钟。

原文:http://www.ttlsa.com/nginx/nginx-create-image-on-disk/

 

现在随着各终端的出现(手机,ipad等平板),以及各种终端的手机分辨率和尺寸都不同,现在手机用户流量都是宝,网上出现了各种各样的生成缩略图功能的架构,有使用实时生成缩略图的,也有用 + 实现的,上节我也讲到了,但是用户每次访问都需要生成一次,会给cpu和硬盘带来比较大的压力,今天带来了另外一种方式,这次使用nginx将原图生成缩略图到硬盘上.看我的配置

1. 首先建好cache目录

2. 修改nginx配置

location ~* ^/resize {                root /data/site_cache/$server_name;                set $width 150;                set $height 100;                set $dimens "";                 if ($uri ~* "^/resize_(\d+)x(\d+)/(.*)" ) {                        set $width $1;                        set $height $2;                        set $image_path $3;                        set $demins "_$1x$2";                }                 if ($uri ~* "^/resize/(.*)" ) {                        set $image_path $1;                }                 set $image_uri image_resize/$image_path?width=$width&height=$height;                 if (!-f $request_filename) {                        proxy_pass http://127.0.0.1/$image_uri;                        break;                }                proxy_store /data/site_cache/$server_name/resize$demins/$image_path;                proxy_store_access user:rw group:rw all:r;                proxy_set_header Host $host;                expires      30d;                access_log off;        }         location /image_resize {                alias /data/site/$server_name/;                image_filter resize $arg_width $arg_height;                image_filter_jpeg_quality 75;                access_log off;        }

 

生成缩略图流程如下:

1、原图在www.ttlsa.com/image/1.jpg。我需要一份100x100的缩略图。
2、请求www.ttlsa.com/resize_100x100/image/1.jpg.
3、这个请求进入了location ~* ^/resize,接着判断image_path这个目录下是否存在这张图片,如果存在直接放回给用户,
4、不存在那么跳转到http://www.ttlsa.com/image_resize/image/1.jpg?width=100&height=100;
5、location /image_resize根据传入的width和height执行缩略功能,并且设置图像质量为75
6、接着生成文件到/data/site_cache/www.ttlsa.com/resize_100x100/image/1.jpg
7、并且返回图片给用户
8、nginx生成缩略图到硬盘上的功能到这里就结束了

 

转载地址:http://txgoo.baihongyu.com/

你可能感兴趣的文章
后代选择器
查看>>
WebView性能优化--独立进程
查看>>
A. Case of the Zeros and Ones----解题报告
查看>>
洛谷 P2735 电网 Electric Fences Label:计算几何--皮克定理
查看>>
Vue + webpack 项目配置化、接口请求统一管理
查看>>
关于电脑的基础单词笔记
查看>>
andriod 新建 Activity_ Form (详细设置)
查看>>
Java中的==和equals区别
查看>>
烂泥:【解决】word复制windows live writer没有图片
查看>>
Coursera课程 Programming Languages, Part C 总结
查看>>
安卓App设计博文
查看>>
redis 操作
查看>>
Spark RDD算子介绍
查看>>
Vue渲染函数
查看>>
stl的优先级队列
查看>>
【NOIP考前模拟赛】纯数学方法推导——旅行者问题
查看>>
对象之int介绍
查看>>
Django的models操作
查看>>
Linux用户管理
查看>>
矩阵连乘积 ZOJ 1276 Optimal Array Multiplication Sequence
查看>>