`

利用Nginx http_image_filter_module模块来裁剪过大的图片

 
阅读更多

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

安装还是很简单的,默认HttpImageFilterModule模块是不会编译进nginx的,所以要在configure时候指定

1
./configure --prefix=/usr/local/nginx --with-http_image_filter_module

make&&make install后就可以进行配置了,做最简单的配置,先让模块可以跑起来.

其配置例子如下:

1
2
3
4
5
6
7
8
location /img/{
image_filter resize 150 100;
error_page 415 = /empty;
}
 
location = /empty {
empty_gif;
}

最后开启nginx,这样访问/img/目录下的图片,都会按照高度最高100并且宽度最高100按照原图比例进行截取出来,并输出给浏览器。当然也可以开启重写去读取本机另一个目录下源文件;

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图片的透明度,以此来提高图片质量。

官方WIKI: http://wiki.nginx.org/NginxHttpImageFilterModule

Tags: http_image_filter_module nginx裁剪图片

分享到:
评论

相关推荐

    添加了http_image_filter_module模块的Nginx

    `http_image_filter_module`模块是Nginx内置的一个图像处理模块,它允许我们在服务器端对请求的图像进行实时处理,如缩放、裁剪、旋转等操作,而无需将原始图像文件发送到客户端。这一特性对于优化网站性能、减少...

    ngx_http_proxy_connect_module.zip

    ngx_http_proxy_connect_module是一个针对Nginx服务器的第三方模块,主要功能是支持HTTP代理的"CONNECT"方法。在默认情况下,Nginx仅处理HTTP和HTTPS请求,但不支持通过HTTP代理进行TCP连接,比如SSL/TLS隧道。这个...

    Nginx安装+nginx_upstream_check_module后端健康检查

    - **--with-http_image_filter_module**: 启用图像处理模块。 - **--add-module**: 添加第三方模块。 #### 三、配置Nginx.conf **3.1 编辑配置文件** 编辑`/usr/local/nginx/conf/nginx.conf`文件,进行如下配置...

    nginx限制连接数ngx_http_limit_conn_module模块1

    为了应对这些问题,我们可以利用 Nginx 的 ngx_http_limit_conn_module 模块来限制同一 IP 地址的并发连接数,从而保护服务器资源。 ### 1. ngx_http_limit_conn_module 模块介绍 ngx_http_limit_conn_module 是 ...

    nginx_upstream_check_module

    但是,原始的`upstream`模块并不具备健康检查功能,这就是`nginx_upstream_check_module`的用武之地。 ### Nginx Upstream Check Module特性 1. **健康检查**:该模块可以定期向后端服务器发送探测请求,如HTTP ...

    使用nginx作为http/https正向代理ipm包,包含ngx_http_proxy_connect_module 模块,第三方图片代理,带有缓存

    使用nginx作为http/https正向代理ipm包,包含ngx_http_proxy_connect_module 模块,附带了第三方图片代理配置,带有缓存,可直接做图片服务器 下载后执行:rpm -ivh nginx-1.12.2-1.el7_4.ngx.x86_64.rpm 打包教程:...

    nginx_upstream_check_module-master.zip

    nginx自带是没有针对负载均衡后端节点的健康检查的,但是可以通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的相关指令来完成当后端节点出现故障时,自动切换到健康节点来提供访问。

    nginx_http_push_module

    总的来说,`nginx_http_push_module`为Nginx带来了实时推送能力,极大地拓宽了其应用场景。开发者可以利用这个模块构建更加高效、实时的Web应用程序,但同时也需要考虑性能、安全和兼容性等多个方面的问题。

    nginx_tcp_proxy_module-master.zip

    nginx_tcp_proxy_module-master.zip

    nginx源码编译所需文件合集(echo模块、headers模块、substitutions_filter模块).zip

    nginx1.12.2源码、pcre-8.4.3源码、zlib-1.2.11源码包、openssl-1.0.2r源码包、echo-nginx-module-master模块源码、headers-more-nginx-module-master源码包、ngx_http_substitutions_filter_module源码包;...

    ngx_http_dav_ext_module.so

    ngx_http_dav_ext_module.so centos7 nginx 1.18 可以作为模块加载

    nginx-1.19.3_nginx-http-flv-module.rar

    表明这是一个关于Nginx服务器的软件包,特别地,它包含了Nginx的1.19.3版本,并且已经集成了`nginx-http-flv-module`模块。这个模块是用于支持HTTP FLV(Flash Video)流媒体服务的,常用于实时视频播放和点播服务。...

    nginxdocker镜像(nginx-upstream-check健康检查)

    官方nginx 镜像不带主动健康,本镜像将 nginx_upstream_check健康检查 打包到了镜像中。

    nginx1.16+nginx-upstream-check-module-master+nginx-upload-module

    总结来说,`nginx1.16`提供了基础的Web服务支持,而`nginx-upstream-check-module`增强了Nginx对后端服务健康状态的监控和处理,`nginx-upload-module`则让Nginx具备了接收和处理文件上传的能力。这些组合使用能够...

    带http-image-filter-module的nginx(windows版)

    参考https://blog.csdn.net/qq_36749924/article/details/130992813 启动nginx后访问http://127.0.0.1/download/2.png

    nginx流媒体安装包(nginx_mod_h264_streaming,yamdi)

    ./configure --add-module=path/to/nginx_mod_h264_streaming make sudo make install ``` 3. 配置Nginx - 在Nginx的配置文件(如/etc/nginx/nginx.conf)中,添加流媒体服务器的相关配置。例如,创建一个新的...

    ngx_http_proxy_connect_module-master (2).zip

    用于nginx的http正向代理https使用的模块

    nginx_upload_module 加lua 实现上传

    通过这样的配置,我们可以实现一个完整的文件上传解决方案,既利用了`nginx_upload_module`的强大上传功能,又借助Lua实现了灵活的业务逻辑处理。这种方式不仅可以提高上传效率,还能有效控制服务器资源,确保系统的...

    nginx-upload-module-master.rar_modules_nginx_upload

    - **多文件上传**:Nginx Upload Module 支持用户同时上传多个文件,这对于图片库、文档分享等应用来说是非常实用的。 - **大文件分块上传**:通过分块上传,即使文件大小超过单个请求的限制,也能顺利完成上传。 ...

Global site tag (gtag.js) - Google Analytics