需求:
不管一个系统或网站的大与小,都存在相应的图片处理,生成缩略图、为图片加水印等等,如果涉及到APP端,这个图片的处理需求变得更加重要了,因为在目前看来,客户端的屏幕大小不一,有时一张高清图片太大,页面加载时间太长会导致以下问题:
(1)图片过大导致APP加载图片速度慢;
(2)消耗用户过多流量。
所以,对图片压缩是很有必要的
压缩操作步骤:
(1)需要重新编译nginx./configure --prefix=/usr/local/nginx --with-http_realip_module --withhttp_image_filter_module=dynamic
编译报错,没有gd-devel包
yum list gd ##看到系统gd版本是2.0.35-26,所以自己下载的gd-devel也得是这个版本
yum install -y gd-devel-2.0.35-26.el7.x86_64.rpm
再编译
make && make install
(2)添加图片处理静态模块
cd /root/nginx-1.15.8/objs
cp nginx /usr/local/nginx/sbin/
静态模块需要手动新建目录,把模块放进去
mkdir /usr/local/nginx/modules
cp ngx_http_image_filter_module.so /usr/local/nginx/modules/
(3)修改配置文件
load_module modules/ngx_http_image_filter_module.so; ##加在最开头
location /download/ {
image_filter resize 150 100; #就是重新调整图片的尺寸(像素)
}
##重启服务
nginx -s reload
测试:
在浏览器上打开访问,没有变化先清理缓存 http://www./download/vim.jpg #注意:路径一定要输入全 按F12,点击network->file可以看到图片大小变为不到2k,之前400多k