关于Nginx的安装,小伙伴们可以关注 冰河技能 微信公众号,参考《【Nginx】实现负载均衡、限流、缓存、黑白名单和灰度发布,这是最全的一篇了!
》一文。
还有便是,小伙伴们如果对文章有什么好的建媾和见地,或者在阅读文章时,有什么疑问,都可以在留言区进行留言!
!
为了手机端浏览到与手机分辨率相匹配的图片,提高 APP 访问速率以及减少用户的手机流量,须要将图片天生缩略图,这边共有以下办理方案。

经由多方的考虑,决定利用方案 C,利用 Nginx 自带模块天生缩略图。
Nginx天生缩略图配置Nginx利用 Nginx 自带模块天生缩略图,模块: --with-http_image_filter_module,例如,我们可以利用如下参数安装Nginx:
./configure--prefix=/usr/local/nginx-1.19.1--with-http_stub_status_module--with-http_realip_module--with-http_image_filter_module--with-debug
接下来,修正 nginx.conf 配置文件,或者将下面的配置放到nginx.conf文件相应的 server 块中。
location~/(\d+)\.(jpg)${set$h$arg_h;#获取参数h的值set$w$arg_w;#获取参数w的值#image_filtercrop$h$w;image_filterresize$h$w;#根据给定的长宽天生缩略图}location~/(\d+)_(\d+)x(\d+)\.(jpg)${if(-e$document_root/$1.$4){#判断原图是否存在rewrite/(\d+)_(\d+)x(\d+)\.(jpg)$/$1.$4?h=$2&w=$3last;}return404;}
访问图片
配置完成后,我们就可以利用类似如下的办法来访问图片。
http://www.binghe.com/123_100x10.jpg
当我们在浏览器地址栏中输入上面的链接时,Nginx会作出如下的逻辑处理。
首先判断是否存在原图 123.jpg,不存在直接返回 404(如果原图都不存在,那就没必要天生缩略图了)跳转到 http://www.binghe.com/123.jpg?h=100&w=10,将参数高 h=100 和宽 w=10 带到 url 中。Image_filter resize 指令根据 h 和 w 参数天生相应缩略图。把稳:利用Nginx天生等比例缩略图时有一个长宽取小的原则,例如原图是 10010,你传入的是 102,那么Nginx会给你天生 101 的图片。天生缩略图只是 image_filter 功能中的一个,它一共支持 4 种参数:
test:返回是否真的是图片size:返回图片是非尺寸,返回 json 格式数据corp:截取图片的一部分,从左上角开始截取,尺寸写小了,图片会被剪切resize:缩放图片,等比例缩放Nginx 天生缩略图优缺陷优点:
根据传入参数即可天生各种比例图片不占用任何硬盘空间缺陷:
花费 CPU访问量大将会给做事器带来比较大的包袱建议:
天生缩略是个花费 CPU 的操作,如果访问量比较大的站点,最好考虑利用程序天生缩略图到硬盘上,或者在前端加上 Cache缓存或者利用 CDN。
好了,本日就聊到这儿吧!
小伙伴们可以不才方留言。别忘了给个在看和转发,让更多的人看到,一起学习一起进步!
!
如果你以为冰河写的还不错,请微信搜索并关注「 冰河技能 」微信公众年夜众号,跟冰河学习高并发、分布式、微做事、大数据、互联网和云原生技能,「 冰河技能 」微信公众年夜众号更新了大量技能专题,每一篇技能文章干货满满!
不少读者已经通过阅读「 冰河技能 」微信"大众年夜众号文章,吊打口试官,成功跳槽到大厂;也有不少读者实现了技能上的飞跃,成为公司的技能骨干!
如果你也想像他们一样提升自己的能力,实现技能能力的飞跃,进大厂,升职加薪,那就关注「 冰河技能 」微信"大众年夜众号吧,每天更新超硬核技能干货,让你对如何提升技能能力不再迷茫!