nginx+fastdfs+image_filter 实现实时缩略图

nginx+fastdfs+image_filter 实现实时缩略图

nginx自带image_filter,在安装时需要配置

 

nginx图片过滤处理模块http_image_filter_module安装配置笔记

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

安装还是很简单的,默认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后就可以进行配置了,做最简单的配置,先让模块可以跑起来^^

 

 

 

 

 

公司使用fastdfs作为文件服务,结合nginx实现文件访问,但原始图片比较大,需要实现缩略图的功能,经过一段时间的研究,今天终于实现了,直接贴配置。

server {
    listen       8888;
    server_name  192.168.10.10;

    location ~*group([0-9])/M00/(.*)\.(jpg|gif|png)(_resize_) {
        #alias /fastdfs/storage/data;
        ngx_fastdfs_module;
        set $width      $arg_w;
        set $height     $arg_h;
        rewrite ~*group([0-9])/M00/(.*)\.(jpg|gif|png) group1/M00/$2.$3 break;  
        image_filter crop $width $height;
        image_filter_buffer 100M;
        image_filter_jpeg_quality 75;    
    }
        
    location ~*group([0-9])/M00/(.*)\.(jpg|gif|png) {
        #alias /fastdfs/storage/data;
        ngx_fastdfs_module;
    }
}

访问方式举例:

原图:http://192.168.10.10:8888/group1/M00/00/12/xxxxxxxxxx.jpg

缩略图地址:http://192.168.10.10:8888/group1/M00/00/12/xxxxxxxxxx.jpg_resize_?w=200&h=200

前提:需要安装相关模块

1.ngx_http_image_filter_module

2.fastdfs-nginx-module

nginx+fastdfs+image_filter 实现实时缩略图_第1张图片        nginx+fastdfs+image_filter 实现实时缩略图_第2张图片

本文地址:https://my.oschina.net/u/437601/blog/840425

© 著作权归作者所有

你可能感兴趣的:(服务器)