最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx下HttpImageFilterModule模块安装实现缩略图服务器
时间:2022-06-30 19:04:10 编辑:袖梨 来源:一聚教程网
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图片上
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22