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

news/2024/7/3 0:28:39

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-develapt-get install libgd2-xpm libgd2-xpm-dev

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

复制代码
location ~ /simg/.*\.jpg$ {#proxy_pass     http://10.11.11.11;#rewrite "/simg/(.*\.jpg)$" /img/$1 break ;image_filter   resize  100 100;error_page     415   = /empty;
}
复制代码

最后开启nginx,这样访问/simg/目录下的图片,都会按照高度最高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:这个指令在nginx-1.1.8和1.0.11版本后增加的,目前还不知道是干啥用,有知道的朋友或者发现文中有什么错误的朋友请留言给我吧^^


http://lihuaxi.xjx100.cn/news/247659.html

相关文章

串口线接口

设备com口与PC接口之间由于并无统一标准,有的提供了公头有的提供了母头。造成从PC的COM口与设备COM口之间可能还需要一根数据线转换拨接的可能。这根拨接的数据线却有可能是直通线、23交叉线、全交叉线中的一种,使用错误将导致设备不能正常工作。 1. 串…

学习Mybatis与mysql数据库的示例笔记

目录结构&#xff1a; pom.xml文件 1 <?xml version"1.0" encoding"UTF-8"?>2 <project xmlns"http://maven.apache.org/POM/4.0.0"3 xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"4 xsi:schem…

MATLAB中subplot函数使用

格式&#xff1a;subplot(m,n,p) 或 subplot(m n p) 将多个图显示到一个平面上的函数。其中m&#xff0c;n表示窗口被分为m*n块区域&#xff0c;p表示当前图所在位置。p1表示从左到右从上到下的第一个位置. clear; subplot(2,3,1);%第一块绘图 x[0.1000,0.0500,0.0100,0.0050]…

说说大型高并发高负载网站的系统架构【转】

我在CERNET做过拨号接入平台的搭建&#xff0c;而后在Yahoo&3721从事过搜索引擎前端开发&#xff0c;又在MOP处理过大型社区猫扑大杂烩的架构升级等工作&#xff0c;同时自己接触和开发过不少大中型网站的模块&#xff0c;因此在大型网站应对高负载和并发的解决方案上有一些…

【SSRS】入门篇(二) -- 建立数据源

原文:【SSRS】入门篇(二) -- 建立数据源通过 【SSRS】入门篇(一) -- 创建SSRS项目 这篇&#xff0c;我们建立了一个SSRS项目&#xff1b; 接下来&#xff0c;我们以 AdventureWorks2012 示例数据库&#xff0c;讲下如何建立数据源&#xff1b;(AdventureWorks2012 下载) 1、解决…

自动驾驶汽车数据闭环方法分析

算法与数据双轮驱动才能实现更成熟的自动驾驶技术&#xff0c;也是自动驾驶技术落地的必然选择。随着时间的推移&#xff0c;各家公司在算法方面的差距会逐渐缩小&#xff0c;真正影响自动驾驶技术水平的其实是数据&#xff0c;海量数据会助力自动驾驶技术再上新台阶。但如何获…

MATLAB中linspace函数使用

格式&#xff1a;linspace(x1,x2,N) 功能&#xff1a;用于产生x1,x2之间的N点行矢量。其中x1,x2为起始值&#xff0c;N为元素个数。如果缺省N,默认N100. xlinspace(1,10,10);的效果和x[1:1:10]类似 >> x1[1:1:10]x1 1 2 3 4 5 6 7 8 9 …

Scala和范畴论 -- 对Monad的一点认识

背景 所有一切的开始都是因为这句话&#xff1a;一个单子&#xff08;Monad&#xff09;说白了不过就是自函子范畴上的一个幺半群而已&#xff0c;有什么难以理解的。第一次看到这句话是在这篇文章&#xff1a;程序语言简史(伪)。这句话出自Haskell大神Philip Wadler&#xff0…