#每天都是崭新的一天#再累也要照顾好自己

【nginx系列】nginx升级到支持http_image_filter_module处理图片

一、前言

最近在研究nginx在前端中使用最大化,发现了可以很好的处理图片。


二、http_image_filter_module模块

我们先来到软件包的地方看到了configure。

我们先看一下这个模块http_image_filter_module,已经是内置模块了,但是需要重新编译一下,添加这个模块。


上图知道了nginx在编译时不会自动构建http_image_filter_module和http_v2_module。所以需要重新编译nginx。

注意:下次研究一下动态模块加载


三、加入参数编译

新增加的配置,我们需要重新编译。

./configure --prefix=/usr/local/nginx --with-http_image_filter_module --with-http_v2_module --with-http_ssl_module --with-openssl=/home/soft/openssl-1.1.0f

上面的/usr/local/nginx这个路径是我们编译之后的包路径。


发现报错:


查找发现:HttpImageFilterModule模块需要依赖gd-devel的支持,可以使用yum或apt-get方便地安装,如果未安装回报“/configure: error: the HTTP image filter module requires the GD library.”错误

yum install gd-devel

或者apt-get install libgd2-xpm libgd2-xpm-dev

执行成功后:


配置完成后,运行命令

nake

执行成功之后:


这里不要进行make install,否则就是覆盖安装。


四、备份和替换

(1)然后备份原有已安装好的nginx

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_07_24.bak

 

(2)关闭nginx,然后将刚刚编译好的nginx覆盖掉原有的nginx

关闭nginx

./nginx -s quit

删除nginx文件


移动编译好的nginx到原有的nginx

cp ./objs/nginx /usr/local/nginx/sbin/


(3)启动nginx

./nginx


五、图片缩放的nginx配置

location ~* /image/(.+)$ {
    # 图片服务器端存储地址
    alias /home/static/image/$1;  
    # 图片默认宽度
    set $width -;  
    # 图片默认高度
    set $height -;  
    if ($arg_width != "") {
	set $width $arg_width;
    }
    if ($arg_height != "") {
	set $height $arg_height;
    }
    # 设置图片宽高
    image_filter resize $width $height;  
    # 设置nginx读取图片最大buffer
    image_filter_buffer 10M;  
    # 是否开启图片隔行扫描			
    image_filter_interlace on;   
    error_page 404 = error.gif;
}

还可以配合nginx的缓存使用。


给个地址玩玩:

缩放宽为200px:http://static.chengxinsong.cn/image/1.jpg?width=200

缩放宽为100px:http://static.chengxinsong.cn/image/1.jpg?width=100

图片隔行扫描:http://static.chengxinsong.cn/image/DSC_0003.jpg

错误参数提示:http://static.chengxinsong.cn/image/1.jpg?width=50011asdad


感谢你的阅读,本文由 sau交流学习社区 版权所有。
如若转载,请注明出处:sau交流学习社区-power by saucxs(程新松)(/page/787.html)
交流咨询
    官方QQ群
    群号663940201,欢迎加入!
    sau交流学习社区交流群

微信群
欢迎加入微信群
微信公众号
欢迎关注微信公众号

图文推荐

微信群
saucxs聊天机器人
saucxs
hi ,欢迎来到sau交流学习社区,欢迎与我聊天,问我问题哦!
您正在使用的浏览器是,不在支持范围内!
为了您的正常使用与展示,推荐使用Chrome浏览器68以上版本
支持浏览器:
火狐浏览器最新版
Safari浏览器最新版
Edge浏览器最新版
IE浏览器10,11