ngx_image_thumb模块生成缩略图

时间:2022-08-14 04:18:44

ngx_image_thumb是nginx中用来生成缩略图的模块。

编译前确定已经安装了libcurl-dev libgd2-dev libpcre-dev gd-devel pcre-devel libcurl-devel依赖库

安装模块:

wget https://github.com/3078825/nginx-image/archive/master.zip

./configure --add-module=./nginx-image-master

# yum install gd-devel pcre-devel libcurl-devel -y
# yum install gcc gcc-c++ autoconf automake -y
# groupadd www; useradd -s /sbin/nologin -g www www
# ./configure --prefix=/apps/tengine --user=www --group=www --with-pcre=/usr/local/src/tengine/pcre-8.38 --with-openssl=/usr/local/src/tengine/openssl-1.0.2j --with-jemalloc=/usr/local/src/tengine/jemalloc-3.6. --with-http_realip_module --with-http_stub_status_module --with-http_concat_module --with-zlib=/usr/local/src/tengine/zlib-1.2. --add-module=/usr/local/src/tengine/tengine-1.4./ngx_image_thumb-master

在配置文件中增加下面的配置:

        server {
listen ;
location / {
root html;
#增加下面两个参数
image on;
image_output on; #root /data1/weixin;
}

调用说明:

通过访问http://127.0.0.1/test.jpg!c300x200.jpg将生成test.jpg 300x200的缩略图,其中c是生成图片缩略图的参数,300,200表示缩略图的宽度和高度,一共可以生成4种类型的缩略图。

支持jpeg png gif(gif生成后变成静态图片)

c参数按请求宽高比例从图片高度10%处开始截取图片,然后缩放到指定尺寸

m参数按请求宽高比例从图片中截取图片,然后缩放到指定尺寸

t参数按请求宽高比例缩放到指定尺寸

w参数按请求宽高比例缩放到指定尺寸,空白处填充白背景颜色

看实例:

ngx_image_thumb模块生成缩略图

http://192.168.1.117/image_data/test.jpg!c300x300.jpg

ngx_image_thumb模块生成缩略图

http://192.168.1.117/image_data/test.jpg!t300x300.jpg

ngx_image_thumb模块生成缩略图

http://192.168.1.117/image_data/test.jpg!m300x300.jpg

ngx_image_thumb模块生成缩略图

http://192.168.1.117/image_data/test.jpg!w300x300.jpg

ngx_image_thumb模块生成缩略图

http://192.168.1.117/image_data/test.c300x300.jpg

ngx_image_thumb模块生成缩略图

http://192.168.1.117/image_data/test.t300x300.jpg

ngx_image_thumb模块生成缩略图

http://192.168.1.117/image_data/test.m300x300.jpg

ngx_image_thumb模块生成缩略图

http://192.168.1.117/image_data/test.w300x300.jpg

ngx_image_thumb模块生成缩略图