Nginx 增加 Image 缩略图功能,需要使用Nginx Image 缩略图 模块

 
    模块同时支持 Nginx 和 tengine
  • 本nginx模块主要功能是对请求的图片进行缩略/水印处理,支持文字水印和图片水印。
  • 支持自定义字体,文字大小,水印透明度,水印位置。
  • 判断原图是否是否大于指定尺寸才处理。 ....等等
1、下载模块代码,并解压
 
    # cd /usr/local/src
    # unzip master.zip/
 
2、重新编译Nginx,同时指定Nginx Image缩略图模块
   

    安装依赖包
# yum install -y gcc automake autoconf m4 gd-devel pcre-devel libcurl-devel

编译安装 Nginx
# cd /usr/local/src
# wget http://nginx.org/download/nginx-1.10.3.tar.gz
# tar -zxvf nginx-1.10.3.tar.gz
# cd nginx-1.10.3
# useradd www -s /sbin/nologin
# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module \
--add-module=../ngx_image_thumb-master
# make && make install
 
3、Nginx配置
 
编辑nginx.conf,添加如下内容(红色):
 
location / {
root html;
image on;
image_output on;
}
或者指定目录开启
location /upload {
root html;
image on;
image_output on;
}
 
参数说明:
 
image on/off 是否开启缩略图功能,默认关闭
 
image_backend on/off 是否开启镜像服务,当开启该功能时,请求目录不存在的图片(判断原图),将自动从镜像服务器地址下载原图
 
image_backend_server 镜像服务器地址
 
image_output on/off 是否不生成图片而直接处理后输出 默认off
 
image_jpeg_quality 75 生成JPEG图片的质量 默认值75
 
image_water on/off 是否开启水印功能
 
image_water_type 0/1 水印类型 0:图片水印 1:文字水印
 
image_water_min 300 300 图片宽度 300 高度 300 的情况才添加水印
 
image_water_pos 0-9 水印位置 默认值9 0为随机位置,1为顶端居左,2为顶端居中,3为顶端居右,4为中部居左,5为中部居中,6为中部居右,7为底端居左,8为底端居中,9为底端居右
 
image_water_file 水印文件(jpg/png/gif),绝对路径或者相对路径的水印图片
 
image_water_transparent 水印透明度,默认20
 
image_water_text 水印文字 "Power By Vampire"
 
image_water_font_size 水印大小 默认 5
 
image_water_font 文字水印字体文件路径
 
image_water_color 水印文字颜色,默认 #000000
 
4、调用方法
 
在nginx网站根目录存放一个 test.png 文件,然后访问 http://192.168.145.34/test.png,如下图:
 
 

访问时加上参数,生成/输出 test.png 300x200 的缩略图,如下图:
http:/192.168.145.34/test.png!c300x200.png

 
访问时加上参数,生成/输出 test.png 500x400 的缩略图,如下图:
http:/192.168.145.34/test.png!c500x400.png

 
参数说明:
c 是生成图片缩略图的参数
300 是生成缩略图的宽度
200 是生成缩略图的高度
 
我们可以生成四种不同类型的缩略图,并支持 jpeg / png / gif (Gif生成后变成静态图片)图片文件。
 
C 参数按请求宽高比例从图片高度 10% 处开始截取图片,然后缩放/放大到指定尺寸( 图片缩略图大小等于请求的宽高 )
M 参数按请求宽高比例居中截图图片,然后缩放/放大到指定尺寸( 图片缩略图大小等于请求的宽高 )
T 参数按请求宽高比例按比例缩放/放大到指定尺寸( 图片缩略图大小可能小于请求的宽高 )
W 参数按请求宽高比例缩放/放大到指定尺寸,空白处填充白色背景颜色( 图片缩略图大小等于请求的宽高 )

Nginx 增加 Image 缩略图 功能的更多相关文章

  1. wordpress 缩略图功能函数 the_post_thumbnail

    很多 WordPress 主题,特别是那些杂志型的主题,会给每篇日志加上一张缩略图,这种展现方式一般用在首页,可能单独出现,或者和日志摘要一起.但是目前位置没有一个标准的方法去实现日志缩略图,很多主题 ...

  2. Nginx 支持 WAF 防护功能实战

    WAF(Web Application Firewall),中文名称叫做“Web应用防火墙 WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提 ...

  3. nginx增加第三方模块

    增加第三方模块 ============================================================ 一.概述nginx文件非常小但是性能非常的高效,这方面完胜ap ...

  4. nginx实时生成缩略图到硬盘上

    现在随着各终端的出现(手机,ipad等平板),以及各种终端的手机分辨率和尺寸都不同,现在手机用户流量都是宝,网上出现了各种各样的生成缩略图功能的架构,有使用php实时生成缩略图的,也有用nginx + ...

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

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

  6. 使用NGINX+LUA实现WAF功能 和nginx 防盗链

    使用NGINX+LUA实现WAF功能 一.了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: WAF) ...

  7. 【Nginx】面试官竟然问我Nginx如何生成缩略图,还好我看了这篇文章!!

    写在前面 今天想写一篇使用Nginx如何生成缩略图的文章,想了半天题目也没想好,这个题目还是一名读者帮我起的.起因就是这位读者最近出去面试,面试官正好问了一个Nginx如何生成缩略图的问题.还别说,就 ...

  8. Nginx实战部署常用功能演示(超详细版),绝对给力~~~

    前言 上次分享了一些开发过程中常用的功能,但如果到真实环境中,其实还需要一些额外的配置,比如说跨域.缓存.配置SSL证书.高可用等,老规矩,还是挑几个平时比较常用的进行演示分享.上篇详见Nginx超详 ...

  9. .NET跨平台之旅:增加文件日志功能遇到的挫折

    在将我们的ASP.NET 5示例站点(about.cnblogs.com)升级至ASP.NET 5 RC1的时候,我们增加了控制台日志功能. 在ASP.NET 5添加日志功能很简单,只需在projec ...

随机推荐

  1. Android 开发工具推荐

    简评: 自己过去在 Android 开发中发现的好工具,在这里分享给大家.: ) Library methods count 每一个 Android App 的开发中都会用到很多的库,这个工具能够让你 ...

  2. RabbitMQ常见错误1

    java.lang.IllegalStateException: Invalid configuration: 'exchange' must be non-null. at com.rabbitmq ...

  3. 解决Chrome浏览器主页被hao123、360和2345篡改简单有效方法

    转自:https://blog.csdn.net/qq_32635971/article/details/72793115?locationNum=10&fps=1 当你打开浏览器看到各种首页 ...

  4. String,StringBuffer与StringBuilder的理解

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简 要的说, String 类型和 StringBuffer 类型的主要性 ...

  5. 交换路由中期测验20181226(动态路由配置与重分发、NAT转换、ACL访问控制列表)

    测试拓扑: 接口配置信息 HostName 接口 IP地址 网关 Server 0 Fa0 172.16.15.1/24 172.16.15.254 Server 1 Fa0 100.2.15.200 ...

  6. 交换路由中期测验20181205(DHCP、IOS、静态路由、RIP、EIGRP)

    测试拓扑: 知识点:DHCP:IOS的备份恢复与更新:静态路由:动态路由(RIP):动态路由(EIGRP) 1.DHCP 拓扑: 主要指令: ip dhcp pool 地址池名称   network ...

  7. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十三):配置中心(Config、Bus)

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每 ...

  8. nginx介绍(五) - 高可用

    前言 即便想 nginx 这么牛B的服务器, 也不能保证他不挂啊, 就算不是机器出故障, 比如, 停电了, 那么机器挂了, 很正常啊. 这时候, 没有分发服务器, 网站就不能正常访问了, 咋搞? 网站 ...

  9. 和我一起打造个简单搜索之IK分词以及拼音分词

    elasticsearch 官方默认的分词插件,对中文分词效果不理想,它是把中文词语分成了一个一个的汉字.所以我们引入 es 插件 es-ik.同时为了提升用户体验,引入 es-pinyin 插件.本 ...

  10. springboot使用遇到问题:Class “model.Address” is listed in the persistence.xml file but not mapped

    报错如下: 解决如下: 这是一个Eclipse的怪癖.我最近在创建一个禁用了JPA库配置的新JPA项目时遇到了这个问题,但是在我通过Eclipse New JPA Entity向导创建实体之前没有手动 ...