Nginx可以编写很多额外的模块,这里我们需要按照能够通过URL响应返回缩放且含图片水印功能的模块。

1.安装一些使用过程中会用到的工具

yum install libgd2-devel
yum install libpcre-devel
yum install libcurl-devel
yum install gd-devel

2.安装Nginx,不知道怎么安装的可以点击查看
3.下载模块源代码,将下载来的文件解压至Nginx的根目录

wget https://github.com/3078825/nginx-image/archive/master.zip
cd /usr/local/nginx-1.12./
unzip master.zip

4.配置Nginx的参数,添加图片处理模块

./configure --add-module=ngx_image_thumb-master

5.编译安装

make && make install

6.配置nginx.conf文件

location ~*\.(jpg|png|gif){
root /home/upload/nginx/;
image on;
#image_backend off;
image_output on;
#image_jpeg_quality ;
image_water on;
image_water_type ;
image_water_pos ;
image_water_file "/home/upload/nginx/logo.png";
#image_water_transparent ;
}

7.配置参数说明

image on/off
#是否开启缩略图功能,默认关闭
image_backend on/off
#是否开启镜像服务,当开启该功能时,请求目录不存在的图片(判断原图),将自动从镜像服务器地址下载原图
image_backend_server
#镜像服务器地址
image_output on/off
#是否不生成图片而直接处理后输出 默认off
image_jpeg_quality
#生成JPEG图片的质量 默认值75
image_water on/off
#是否开启水印功能
image_water_type /
#水印类型 :图片水印 :文字水印
image_water_min
#图片宽度 高度 的情况才添加水印
image_water_pos -
#水印位置 默认值9 0为随机位置,1为顶端居左,2为顶端居中,3为顶端居右,4为中部居左,5为中部居中,6为中部居右,7为底端居左,8为底端居中,9为底端居右
image_water_file "/home/upload/nginx/logo.png"
#水印文件(jpg/png/gif),绝对路径或者相对路径的水印图片
image_water_transparent 20
#水印透明度,默认20
image_water_text "Power By Vampire"
#水印文字 "Power By Vampire"
image_water_font_size 5
#水印大小 默认
image_water_font
#文字水印字体文件路径
image_water_color #
#水印文字颜色,默认 #

8.调用说明

这里假设你的nginx访问地址为http://127.0.0.1/
并在nginx网站根目录存在一个test.jpg的图片
通过访问http://127.0.0.1/test.jpg!c300x200.jpg 将会生成/输出test.jpg 300x200 的缩略图
其中c是生成图片缩略图的参数,300是生成缩略图的宽度,200是生成缩略图的高度
一共可以生成四种不同类型的缩略图。
支持 jpeg/png/gif(Gif生成后变成静态图片) C 参数按请求宽高比例从图片高度 % 处开始截取图片,然后缩放/放大到指定尺寸(图片缩略图大小等于请求的宽高)
M 参数按请求宽高比例居中截图图片,然后缩放/放大到指定尺寸(图片缩略图大小等于请求的宽高)
T 参数按请求宽高比例按比例缩放/放大到指定尺寸(图片缩略图大小可能小于请求的宽高)
W 参数按请求宽高比例缩放/放大到指定尺寸,空白处填充白色背景颜色(图片缩略图大小等于请求的宽高)

Nginx使用图片处理模块的更多相关文章

  1. nginx空白图片(empty_gif模块)

    用过百度统计的兄弟有没有注意到百度使用1x1的空白图片传递统计参数,自己做异步统计的兄弟是否使用静态文件来传递参数.为什么使用空白图片呢,而不是自己存放一张小图呢,nginx里面的空白图片是保存在内存 ...

  2. Nginx/Apache图片缩略图技术

    1,目的 2,使用方式 3,Nginx + Linux 缩略图实现 3.1,原理 3.2,nginx配置实现 3.3,例子 4,Apache + Windows缩略图实现 4.1,环境 4.2,原理 ...

  3. yum安装下的nginx,如何添加模块,和添加第三方模块

    需求:生产有个接口是通过socket通信.nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. 实现方法:Centos7.2下yum直接安装的nginx, ...

  4. Nginx加载ngx_pagespeed模块,加快网站打开的速度

    [页面加速]配置Nginx加载ngx_pagespeed模块,加快网站打开的速度   ngx_pagespeed 是一个 Nginx 的扩展模块,可以加速你的网站,减少页面加载时间,它会自动将一些提升 ...

  5. Nginx 安装--图片服务器搭建

    1.  nginx 需要依赖以下模块: gzip模块需要 zlib 库 rewrite模块需要 pcre 库 ssl 功能需要openssl库 1.1.安装pcre 1.         获取pcre ...

  6. 转:Nginx国人开发缩略图模块(ngx_image_thumb)

    ngx_image_thumb是nginx中用来生成缩略图的模块,生存缩略图的方法很多,之前也写过一篇 <nginx生成缩略图配置>,在github上发现国人开发的一款模块,作者的文档写的 ...

  7. Nginx核心流程及模块介绍

    Nginx核心流程及模块介绍 1. Nginx简介以及特点 Nginx简介: Nginx (engine x) 是一个高性能的web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 ...

  8. Nginx,Nginx 搭建图片服务器

    Nginx Nginx 概述 反向代理 工作流程 优点 1:保护了真实的web服务器,保证了web服务器的资源安全 2:节约了有限的IP地址资源 3:减少WEB服务器压力,提高响应速度 4:其他优点 ...

  9. Nginx一致性哈希模块的Lua实现

    Nginx一致性哈希模块的Lua重新实现 技术背景: 最近在工作中使用了nginx+redis 的架构,redis在后台做分布式存储,每个redis都存放不同的数据,这些数据都是某门户网站通过Hado ...

随机推荐

  1. (一二七)NSURLSession的基本用法 下载与数据获取

    简介 NSURLSession是苹果官方提供的一系列网络接口库,使用他们可以轻松实现下载和数据获取等任务.在上一篇文章中,我们介绍了使用NSURLConnection下载文件和断点续传的功能,实现起来 ...

  2. linux iio子系统

    //============================================================================\\ || 系            统:W ...

  3. Linux 内存管理之highmem简介

    一.Linux内核地址空间 一般来说Linux 内核按照 3:1 的比率来划分虚拟内存(X86等):3 GB 的虚拟内存用于用户空间,1GB 的内存用于内核空间.当然有些体系结构如MIPS使用2:2 ...

  4. Qt中事件分发源代码剖析

    Qt中事件分发源代码剖析 Qt中事件传递顺序: 在一个应该程序中,会进入一个事件循环,接受系统产生的事件,并且进行分发,这些都是在exec中进行的. 下面举例说明: 1)首先看看下面一段示例代码: i ...

  5. UNIX网络编程——通用套接字选项

    1. SO_BROADCAST 套接字选项 本选项开启或禁止进程发送广播消息的能力.只有数据报套接字支持广播,并且还必须是在支持广播消息的网络上(例如以太网,令牌环网等).我们不可能在点对点链路上进行 ...

  6. Objc运行时读取和写入plist文件遇到的问题

    下面是本猫保持游戏NPC和物件交互的plist文件: 随着游戏和玩家逐步发生互动,玩家会修改人物和物件的交互的状态.这也是RPG游戏最基本的功能. 在切换每个地图时需要将上一个地图发生的改变存储到pl ...

  7. JSP标签JSTL(3)--迭代操作

    简单点说,<c:forEach>标签的作用就是迭代输出标签内部的内容.它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数. <!--语法使用如下--> ...

  8. 平述factory reset ——从main system到重引导流程

    关于Android或linux的引导流程,网上大都是从开机开始讲述的,或者直接跳过bootloader引导阶段,直接从init进程开始说起.这里我从手机正常运行状态开始,到重启状态以及重启之后的状态略 ...

  9. mixer: sql词法分析器设计

    介绍 mixer希望在proxy这层就提供自定义路由,sql黑名单,防止sql注入攻击等功能,而这些的基石就在于将用户发上来的sql语句进行解析.也就是我最头大的词法分析和语法分析. 到现在为止,我只 ...

  10. [Java]数组排序-选择排序 冒泡排序 插入排序

    1 选择排序  原理:a 将数组中的每个元素,与第一个元素比较          如果这个元素小于第一个元素, 就将这个         两个元素交换.       b 每轮使用a的规则, 可以选择出 ...