http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽高以及图片类型信息。
安装
# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.5.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=/usr/local/src/nginx/fastdfs-nginx-module/src
在configure arguments:后面显示的原有的configure参数如下:
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module
#或者arguments:后面什么都没有那么就应该切换到源码包:
cd /usr/local/src/nginx-1.9.9 你的源码放在那,就cd到那里。
#我们的新配置信息就应该这样写:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_image_filter_module
#运行上面的命令即可,等配置完 成后,运行命令
make
#这里不要进行make install,否则就是覆盖安装
#然后备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
#然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx需要要停止掉)
cp ./objs/nginx /usr/local/nginx/sbin/
然后启动nginx,仍可以通过命令查看模块是否已经加入成功
/usr/local/nginx/sbin/nginx -V
vi /usr/local/nginx/conf/nginx.conf
location ~* /img {
root /data0;
image_filter resize 150 100;
image_filter rotate 90;
}
location ~ /group1/M00/(.*)_([0-9]+)x([0-9]+)\.(jpg|gif|png){
root /home/fdfsdata/data;
ngx_fastdfs_module;
set $w $2;
set $h $3;
if ($h != "0") {
# rewrite /group1/M00/(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ /group1/M00/$1.$4 last; 如果是last if 括号外的后续代码就不执行了
rewrite group1/M00(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ group1/M00$1.$4 break;
}
if ($w != "0") {
rewrite /group1/M00/(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ /group1/M00/$1.$4 break;
}
image_filter crop $w $h;
image_filter_buffer 2M;
}
location ~ group1/M00/(.+)\.?(.+){
alias /home/fastdata/data;
ngx_fastdfs_module;
}
#a.拦截图片,如果宽度w不为空,就rewrite重定向到“/image/resize/group1/M00”,
#让第2个配置,执行 image_filter resize 100 100,获得缩略图。
#b.如果w为空,直接获得原图。
http://ip:port/group1/M00/00/00/KmC4VFY7GsiATWTJAAA3vrrOOWM943.jpg
裁剪后的链接
http://ip:port/group1/M00/00/00/KmC4VFY7GsiATWTJAAA3vrrOOWM943_100x30.jpg
FastDFS组合nginx的http_image_filter_module建立的图片服务器(最关键,可行方法,在帖子的最后面)
http://bbs.chinaunix.net/thread-4058548-1-1.html
nginx生成缩略图配置 – ttlsa教程系列之nginx(参考)
http://www.ttlsa.com/nginx/nginx-modules-image_filter_module/
Nginx国人开发缩略图模块(ngx_image_thumb)(参考,和上面的类似)
http://www.ttlsa.com/nginx/nginx-modules-ngx_image_thumb/
Nginx图片剪裁模块探究 http_image_filter_module
http://cwtea.blog.51cto.com/4500217/1333142
nginx之location配置
http://blog.csdn.net/hellochenlian/article/details/44655547