百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> Nginx下HttpImageFilterModule模块安装实现缩略图服务器
分享文章到:

Nginx下HttpImageFilterModule模块安装实现缩略图服务器

发布时间:01/15 来源: 浏览: 关键词:
http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽高以及图片类型信息,由于是即时计算的结果,所以网站访问量大的话,不建议使用

HttpImageFilterModule用来处理转换图片(JPEG、GIF和PNG),是nginx自带的模块,默认不会开启,需要在编译安装的时候加上参数–with-http_image_filter_module


安装还是很简单的,默认HttpImageFilterModule模块是不会编译进nginx的,所以要在configure时候指定

./configure arguments: --prefix=/usr/local/nginx --with-http_image_filter_module
PS: 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
make&&make install后就可以进行配置了


在使用这个模块之前,还需要libgd的支持

安装完成之后的配置如下:

server{
   listen 80;
   server_name img0.sinapp.cn img1.sinapp.cn;
 
    location ~ /img/(\d+)/(.*)_(\d+){
        rewrite "/img/(\d+)/(.*)_(\d+)" /img/$1/$2 break ;
        image_filter   resize  $3 -;
        image_filter_buffer 20M;
        image_filter_jpeg_quality       51;
        include conf/proxy.conf;
    }
 
    location / {
        root "/data/img";
        default_type image/jpeg;
    }
    expires max;
}

之后,便可以用/img/2014/02/28a0b773b820de7dacf01559f2bfe5fa.jpg_200的方式访问到原图为/img/2014/02/28a0b773b820de7dacf01559f2bfe5fa.jpg的缩略图。

缩略图后面的_200代表缩略图宽度,压缩为等比压缩,当然也可以指定宽高压缩,一般不用这种方式。

HttpImageFilterModule模块主要有以下参数可用:

image_filter:指定模块处理图片的类型,比如裁剪、resize或者返回图片信息,有以下几个参数:

image_filter off                    #关闭,默认值
image_filter test                   #测试是否是图片(JPEG、GIF、PNG),否的话返回415错误
image_filter size                   #获取图片信息(JSON),比如{ "img" : { "width": 100, "height": 100, "type": "gif" } }
image_filter rotate 90 | 180 | 270  #旋转图片
image_filter resize width height    #改变图片的大小
image_filter crop width height      #裁剪图片到指定大小
 

其它的参数如下:


image_filter_buffer  1m            #指定可读取图片的大小,默认是1M
image_filter_jpeg_quality 75    #设置JPEG图片压缩的质量,默认是75,建议最大不要超过90
image_filter_sharpen   0          #设置锐化度,默认是0
image_filter_transparency on  #这是是否透明,默认是on,用在PNG或GIF图片上

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有4人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板