Nginx下HttpImageFilterModule模块安装实现缩略图服务器

HttpImageFilterModule用来处理转换图片(JPEG、GIF和PNG),是nginx自带的模块,默认不会开启,需要在编译安装的时候加上参数–with-http_image_filter_module

安装还是很简单的,默认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-devel

apt-get install libgd2-xpm libgd2-xpm-dev
make&&make install后就可以进行配置了

在使用这个模块之前,还需要libgd的支持

安装完成之后的配置如下:

server{
   listen 80;
   server_name img0.sinapp.cn img1.sinapp.cn;
 
    location ~ /img/(\d+)/(.*)_(\d+){
        rewrite "/img/(\d+)/(.*)_(\d+)" /img/$1/$2 break ;
        image_filter   resize  $3 -;
        image_filter_buffer 20M;
        image_filter_jpeg_quality       51;
        include conf/proxy.conf;
    }
 
    location / {
        root "/data/img";
        default_type image/jpeg;
    }
    expires max;
}

之后,便可以用/img/2014/02/28a0b773b820de7dacf01559f2bfe5fa.jpg_200的方式访问到原图为/img/2014/02/28a0b773b820de7dacf01559f2bfe5fa.jpg的缩略图。

缩略图后面的_200代表缩略图宽度,压缩为等比压缩,当然也可以指定宽高压缩,一般不用这种方式。

HttpImageFilterModule模块主要有以下参数可用:

image_filter:指定模块处理图片的类型,比如裁剪、resize或者返回图片信息,有以下几个参数:

image_filter off                    #关闭,默认值
image_filter test                   #测试是否是图片(JPEG、GIF、PNG),否的话返回415错误
image_filter size                   #获取图片信息(JSON),比如{ "img" : { "width": 100, "height": 100, "type": "gif" } }
image_filter rotate 90 | 180 | 270  #旋转图片
image_filter resize width height    #改变图片的大小
image_filter crop width height      #裁剪图片到指定大小
 

其它的参数如下:

image_filter_buffer  1m            #指定可读取图片的大小,默认是1M
image_filter_jpeg_quality 75    #设置JPEG图片压缩的质量,默认是75,建议最大不要超过90
image_filter_sharpen   0          #设置锐化度,默认是0
image_filter_transparency on  #这是是否透明,默认是on,用在PNG或GIF图片上

时间: 2024-10-12 15:24:09

Nginx下HttpImageFilterModule模块安装实现缩略图服务器的相关文章

Windows下Memcache的安装方法_win服务器

其实我开始研究Memcache的时候并不知道居然还有memcached for Win32这个鸟东西,害得我在CnetOS下折腾1天才搞定,今天突然发现Windows下的Memcache进行开发调试完全没有问题,所以写篇Memcache的文档分享给大家. Windows下的Memcache安装:1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 'c:\memcached\memcached.exe -d i

nginx下sysgurad模块防止高负载的解决方案

如果nginx被攻击或者访问量突然变大,nginx会因为负载变高或者内存不够用导致服务器宕机,最终导致站点无法访问.今天要谈到的解决方法来自淘宝开发的模块nginx-http-sysguard,主要用于当负载和内存达到一定的阀值之时,会执行相应的动作,比如直接返回503,504或者其他的.一直等到内存或者负载回到阀值的范围内,站点恢复可用.简单的说,这几个模块是让nginx有个缓冲时间,缓缓. 1. 安装nginx sysguard模块 1.1 下载文件  代码如下 复制代码   # wget

Nginx下proxy_set_header 模块代码

前言:由于新注册的腾讯企业邮箱已经无法绑定域名(之前绑定的依然可以使用),因此采用nginx模块来强制转向! 代码:     server { listen       80; server_name  mail.t4x.org; rewrite ^/(.*)$ https://mail.t4x.org/$1 permanent; location / {     root   /site/t4x.org/mail;     index  index.html index.htm; } erro

nginx下nginx_upload_module模块传递GET参数

下面我解决nginx_upload_module使用GET传参的方法公布出来,希望能够帮助到和我一样需求的朋友! 修改nginx配置文件(程序站点配置文件test.conf)  代码如下 复制代码 location /upload_waynerqiu { upload_pass_args on; upload_resumable on; upload_pass /up_test.php?$args; #此处省略掉详细配置- } html表单代码(up_test.php,此页面即作为表单页同时也负

禁止Windows Server 2008系统自动运行模块安装服务

Windows Server 2008系统模块安装服务在服务器系统尝试通过网络进行在线更新时,往往会自动运行,在运行过程中我们时常会发现宝贵的系统CPU资源被大量消耗的现象. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   大家知道,Windows Server 2008系统新增加了模块安装服务,该系统服务在服务器系统尝试通过网络进行在线更新时,往往会自动运行,在运行过程中我们时常会发现宝贵的系统CPU资源被

Nginx下proxy

 下文给各位重点介绍Nginx下proxy_set_header 模块代码,脚面要了解的朋友不防进入看看吧.     前言:由于新注册的腾讯企业邮箱已经无法绑定域名(之前绑定的依然可以使用),因此采用nginx模块来强制转向! 代码:     server { listen       80; server_name  mail.t4x.org; rewrite ^/(.*)$ https://mail.t4x.org/$1 permanent; location / {     root  

Nginx负载均衡与缓存服务器在Linux下的编译安装

1.环境描述&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;       nginx和tomcat1服务器地址:192.168.81.131       tomcat2服务器地址:192.168.81.128       tomcat3服务器地址:192.168.81.132 2.Nginx 负载均衡与5603.html">缓存服务器 (1).在 Linux 下的编译安装: cd Desktop/s

01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置

 1.下载Nginx,进入Nginx下载地址:http://nginx.org/ 点击nginx-1.8.0,进入:http://nginx.org/en/download.html,下载文件: 2 下载pcre,这个是一个正则表达式的库,Nginx做rewriter的时候回用到这个库: 进入pcre的官网(rewrite模式需要pcre):http://www.pcre.org/ 选中右击复制所需要的版本: 3 下载zlib库(gzip模块需要zlib):http://www.zlib.n

《精通Nginx》——第1章 安装Nginx及第三方模块1.1 使用包管理器安装Nginx

第1章 安装Nginx及第三方模块 Nginx最初的设计是成为一个Http服务器,一个能够解决C10K问题的Http服务器.关于C10K这个问题,Daniel Kegel设计一个同时连接处理10000连接的web服务器.为了实现这个目标,Nginx通过基于事件的处理机制并且操作系统也要使用相应的事件机制,便可以解决C10K问题. 在我们开始探索如何配置Nginx之前,首先我们要安装它,这一章将详细讲述如何安装Nginx,以及如何获取正确的模块并且安装和配置它们.Nginx是模块化设计的,并且有非