http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽高以及图片类型信息,由于是即时计算的结果,所以网站访问量大的话,不建议使用。或者nginx前面再加一层缓存。
安装还是很简单的,默认HttpImageFilterModule模块是不会编译进nginx的,所以要在configure时候指定
./configure --prefix=/usr/local/nginx --with-http_image_filter_module
HttpImageFilterModule模块需要依赖gd-devel的支持,可以使用yum或apt-get方便地安装,如果未安装回报“/configure: error: the HTTP image filter module requires the GD library.”错误
centos办法
yum install gd-devel
ubuntu办法
apt-get install libgd2-xpm libgd2-xpm-dev
make && make install后就可以进行配置了,做最简单的配置,先让模块可以跑起来
location / {
root html;
index index.html index.htm;
}
location ~ /image/.*\.jpg$ {
#proxy_pass http://192.168.1.1;
#rewrite "/image/(.*\.jpg)$" /img/$1 break;
image_filter resize 100 100;
error_page 415 = /empty;
}
最后开启nginx,这样访问/image/目录下的图片,都会按照高度最高100并且宽度最高100按照原图比例进行截取出来,并输出给浏览器。当然也可以开启重写去读取本机另一个目录下源文件;如果不在一台机器上就可以开启proxy_pass,并加上重写即可。
http_image_filter_module支持5种指令:
image_filter:测试图片文件合法性(image_filter test);3个角度旋转图片(image_filter rotate 90 | 180 | 270);以json格式输出图片宽度、高度、类型(image_filter size);最小边缩小图片保持图片完整性(resize width height);以及最大边缩放图片后截取多余的部分(image_filter crop [width] [height]);
image_filter_jpeg_quality:设置jpeg图片的压缩质量比例(官方最高建议设置到95,但平时75就可以了);
image_filter_buffer:限制图片最大读取大小,默认为1M;
image_filter_transparency:用来禁用gif和palette-based的png图片的透明度,以此来提高图片质量。
image_filter_sharpen:暂时未知。
其他用法
location ~* /(\w+)\.(jpg)$ {
set $h $arg_h; #获取参数h的值
set $w $arg_w; #获取参数w的值
#image filter crop $h $w;
image_filter resize $h $w; #根据给定的长宽生成缩略图
}
location ~* /(\w+)_(\d+)×(\d+)\.(jpg)$ {
if (-e $document_root/$1.$4) {
rewrite /(\w+)_(\d+)×(\d+)\.(jpg)$ /$1.$4?h=$2&w=$3 last;
}
return 404;
}
在nginx的html目录下,上传图片123.jpg
通过浏览器访问
http://192.168.56.2:8080/123_800×800.jpg
分享到:
相关推荐
`http_image_filter_module`模块是Nginx内置的一个图像处理模块,它允许我们在服务器端对请求的图像进行实时处理,如缩放、裁剪、旋转等操作,而无需将原始图像文件发送到客户端。这一特性对于优化网站性能、减少...
- **--with-http_image_filter_module**: 启用图像处理模块。 - **--add-module**: 添加第三方模块。 #### 三、配置Nginx.conf **3.1 编辑配置文件** 编辑`/usr/local/nginx/conf/nginx.conf`文件,进行如下配置...
* ngx_http_image_filter_module * ngx_http_index_module * ngx_http_js_module * ngx_http_keyval_module * ngx_http_limit_conn_module * ngx_http_limit_req_module * ngx_http_log_module 其他模块 * ngx_...
参考https://blog.csdn.net/qq_36749924/article/details/130992813 启动nginx后访问http://127.0.0.1/download/2.png
Dockerfile 编译安装nginx ...RUN ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-pcre --without-http_gzip_module && make -j 2 && make install ....... .......
【Nginx 文件资源下载详解】 Nginx 是一款高性能的 Web 和反向代理服务器,以其高并发、轻量级和稳定性的特点在 IT 行业中广泛应用。它不仅可以作为静态文件服务器,处理 HTML、CSS、JavaScript 等资源的下载请求,...
这里以安装第三方ngx_http_google_filter_module模块为例 nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so 1. 下载第三方扩展模块ngx_http_google_filter_module # cd /data/software/ # git...
使用参考地址:https://blog.csdn.net/qq_36749924/article/details/130992813 已经添加了http_image_filter_module模块的nginx版本,包含了libgd.dll,nginx版本1.15.9,windows64位版本
image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --with-pcre --...
总的来说,Nginx的image filter模块提供了强大的图像处理能力,不仅限于生成缩略图,还可以用于其他图像处理需求,如检测图片类型、获取尺寸等。通过适当的配置,可以构建高效、灵活的静态图片服务。不过,需要注意...
##### ImageFilter模块(Image Filter) ImageFilter模块支持图像的实时处理和转换。 #### Nginx邮件模块(Mail Modules) ##### 邮件核心模块(Mail Core) 邮件核心模块提供了邮件服务器的基本功能。 ##### ...
##### ImageFilter模块 (Image Filter) ImageFilter模块支持图像过滤和转换功能。 #### Nginx邮件模块 ##### 邮件核心模块 (Mail Core) 邮件核心模块提供了邮件处理的基础功能,如接收和发送邮件。 ##### 邮件...
为了实现图片缩略图功能,我们需要在Nginx中集成一个图像处理模块,例如`ngx_http_image_filter_module`。这个模块允许Nginx在服务器端生成图片的缩略图,减少了客户端的计算负担。安装这个模块通常需要重新编译...
- `--with-http_image_filter_module`: 处理图像的过滤模块。 这些模块的选择可以根据实际需求和系统资源进行定制,以优化Nginx的功能和性能。在编译过程中,正确配置这些参数能够确保Nginx在特定环境中高效、稳定...
15. **ImageFilter模块**(Image Filter):提供图片处理功能。 #### 六、Nginx邮件模块 **Nginx邮件模块**用于处理邮件服务相关的任务,包括: 1. **邮件核心模块**(Mail Core):提供邮件处理的核心功能。 2. *...
nginx 的依赖ngx_http_image_filter_module ngx_let_module ngx_eval_module 配置nginx ./configure --with-http_image_filter_module --add-module=/path/to/ngx_let_module --add-module=/path/to/ngx_eval_module...
4. **模块化扩展**:Nginx的强大之处在于其丰富的第三方模块生态系统,本书可能会详细介绍一些常用的模块,比如ngx_http_sub_module(用于替换文本中的字符串)、ngx_http_image_filter_module(用于图片处理)等,...
module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_perl_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --...