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

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

  1. yum install libgd2-devel
  2. yum install libpcre-devel
  3. yum install libcurl-devel
  4. yum install gd-devel

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

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

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

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

5.编译安装

  1. make && make install

6.配置nginx.conf文件

  1. location ~*\.(jpg|png|gif){
  2. root /home/upload/nginx/;
  3. image on;
  4. #image_backend off;
  5. image_output on;
  6. #image_jpeg_quality ;
  7. image_water on;
  8. image_water_type ;
  9. image_water_pos ;
  10. image_water_file "/home/upload/nginx/logo.png";
  11. #image_water_transparent ;
  12. }

7.配置参数说明

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

8.调用说明

  1. 这里假设你的nginx访问地址为http://127.0.0.1/
  2. 并在nginx网站根目录存在一个test.jpg的图片
  3. 通过访问http://127.0.0.1/test.jpg!c300x200.jpg 将会生成/输出test.jpg 300x200 的缩略图
  4. 其中c是生成图片缩略图的参数,300是生成缩略图的宽度,200是生成缩略图的高度
  5. 一共可以生成四种不同类型的缩略图。
  6. 支持 jpeg/png/gif(Gif生成后变成静态图片)
  7.  
  8. C 参数按请求宽高比例从图片高度 % 处开始截取图片,然后缩放/放大到指定尺寸(图片缩略图大小等于请求的宽高)
  9. M 参数按请求宽高比例居中截图图片,然后缩放/放大到指定尺寸(图片缩略图大小等于请求的宽高)
  10. T 参数按请求宽高比例按比例缩放/放大到指定尺寸(图片缩略图大小可能小于请求的宽高)
  11. 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. Linux的sleep()和usleep()

    1.sleep和usleep都是linux中的程序挂起函数.只是时间的单位不一样. 2. sleep的基本单位是s(秒),也可以用m(分).h(小时). 例: sleep 1 : 挂起1秒 sleep ...

  2. JUI/DWZ介绍、简单使用

    简介 由于开发的项目使用JUI,所以学习了. DWZ富客户端框架(jQuery RIAframework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.(现在更名为JUI) 可 ...

  3. LaTex计数器

    记数器 绝大多数都与可以改变他们的命令有相同的名称 part chapter section subsection paragraph subparagraph page equation figur ...

  4. 如何在Cocos2D游戏中实现A*寻路算法(五)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  5. springMVC对异常处理的支持

    无论做什么项目,进行异常处理都是非常有必要的,而且你不能把一些只有程序员才能看懂的错误代码抛给用户去看,所以这时候进行统一的异常处理,展现一个比较友好的错误页面就显得很有必要了.跟其他MVC框架一样, ...

  6. Java函数2:计算两个日期相差的天数

    import java.util.Scanner; public class HelloWorld { public static void main(String[] args){ // Scann ...

  7. Java由先序序列和中序序列还原二叉树

    还原本来的二叉树并不是一个非常简单的事,虽然思想比较简单,但过程却是比较繁琐.下面我拿先序序列和中序序列来讲一下原理吧. 从先序序列中我们一下子就可以得到二叉树的根节点是第一个元素,然后再中序序列中我 ...

  8. SQL备份所有数据库脚本

    技巧要点:使用游标循环读取所有数据库名,然后定义存放路径,最后备份所有数据库到指定存在的本地文件夹中 脚本如下: declare @fileName varchar(255) --定义备份文件名变量d ...

  9. GDAL书籍

    GDAL的书籍经过快两年的编写修改,终于出版发行了,有需要的同学可以到下面的网址进行购买. 购买地址: 亚马逊:http://www.amazon.cn/GDAL%E6%BA%90%E7%A0%81% ...

  10. Android官方技术文档翻译——构建工作流

    本文译自androd官方技术文档<Build Workflow>,原文地址:http://tools.android.com/tech-docs/new-build-system/buil ...