首页 > 系统相关 >利用Nginx http_image_filter_module模块来裁剪过大的图片

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

时间:2023-07-24 18:32:55浏览次数:42  
标签:http nginx image module filter Nginx 图片


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

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



帮助


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



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

其配置例子如下:



帮助

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,nginx,image,module,filter,Nginx,图片
From: https://blog.51cto.com/u_16203469/6837750

相关文章

  • 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比
    原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://yuhongchun.blog.51cto.com/1604432/697466<!--正文begin-->现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不......
  • 忽略证书的HTTPS请求实现
    publicstaticvoidhttpsTest(StringhttpUrl){//忽略证书的https请求try{SSLContextsslContext=newSSLContextBuilder().loadTrustMaterial(null,newTrustStrategy(){@OverridepublicbooleanisTrusted(X509Certificate[......
  • httprunner
    httprunner(仅作为个人笔记,如有雷同,请联系删除。。)https://www.cnblogs.com/aichixigua12/p/13162479.htmlHttpRunner是一款面向HTTP(S)协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。1、特点:继承Requ......
  • mac os socks5转http proxy
    1.使用homebrew安装privoxy,但安装时报错:https://juejin.cn/post/6961616069941264415homebrew执行brewupdate报错Error:homebrew-coreisashallowclone.To`brewupdate`,firstrun:git-C/usr/local/Homebrew/Library/Taps/homebrew/homebrew-corefetch--uns......
  • HttpClient-请求参数
    demo:packagetest;importorg.apache.http.client.methods.CloseableHttpResponse;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.impl.client.CloseableHttpClient;importorg.apache.http.impl.client.HttpClients;importorg.apache.htt......
  • 快速检测HTTP代理IP是否有效的方法及python代码示例
     1.使用在线代理检测工具:有许多免费的在线代理检测工具可用,如ProxyChecker、ProxyScrape等。只需将待检测的代理IP和端口输入工具中,点击开始检测,即可迅速获得代理的可用性和匿名性等信息。 2.使用命令行工具进行检测:在命令行中使用curl命令来测试代理的可用性。例如,输入命令"......
  • SpringBoot基于Spring Security的HTTP跳转HTTPS
    简单说说之所以采用SpringSecurity来做这件事,一是SpringSecurity可以根据不同的URL来进行判断是否需要跳转(不推荐),二是不需要新建一个TomcatServletWebServerFactoryBean,新建这个Bean可能会导致SpringBoot关于Server的配置失效。三是网上大部分流传的通过实现WebServerFactor......
  • nginx安装
    安装:https://blog.csdn.net/tiansyun/article/details/130601293解决无法查看版本:https://www.likecs.com/show-308153278.html两台虚拟机实现负载均衡:https://blog.csdn.net/weixin_44549096/article/details/122142920 ......
  • 4.镜像制作方式和dockerfile(Ubuntu、nginx)
    制作镜像方式dockercommit通过修改现有的容器,将之手动构建为镜像dockerbuild通过dockerfile文件,批量构建为镜像用镜像做成容器,在容器的基础上定制一个镜像手动制作镜像:commit基于busybox容器创建busybox:v1.0镜像[root@ubuntu2004~]#dockercommit-ali-m"initbusybo......
  • 【遇到一个神奇的问题】暂未想到原因,http.Post 传入 nil参数正确,但是传输值为 nil 的
    出错的代码如下:funcgetEab(ctxcontext.Context,credentialsJSONstring,old*externalAccountKeyResp)(*externalAccountKeyResp,error){//inithttpclient// varpostData*bytes.Reader=nil ifold!=nil{ buf,_:=json.Marshal(old) postData......