Nginx使用图片处理模块
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使用图片处理模块的更多相关文章
- nginx空白图片(empty_gif模块)
用过百度统计的兄弟有没有注意到百度使用1x1的空白图片传递统计参数,自己做异步统计的兄弟是否使用静态文件来传递参数.为什么使用空白图片呢,而不是自己存放一张小图呢,nginx里面的空白图片是保存在内存 ...
- Nginx/Apache图片缩略图技术
1,目的 2,使用方式 3,Nginx + Linux 缩略图实现 3.1,原理 3.2,nginx配置实现 3.3,例子 4,Apache + Windows缩略图实现 4.1,环境 4.2,原理 ...
- yum安装下的nginx,如何添加模块,和添加第三方模块
需求:生产有个接口是通过socket通信.nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. 实现方法:Centos7.2下yum直接安装的nginx, ...
- Nginx加载ngx_pagespeed模块,加快网站打开的速度
[页面加速]配置Nginx加载ngx_pagespeed模块,加快网站打开的速度 ngx_pagespeed 是一个 Nginx 的扩展模块,可以加速你的网站,减少页面加载时间,它会自动将一些提升 ...
- Nginx 安装--图片服务器搭建
1. nginx 需要依赖以下模块: gzip模块需要 zlib 库 rewrite模块需要 pcre 库 ssl 功能需要openssl库 1.1.安装pcre 1. 获取pcre ...
- 转:Nginx国人开发缩略图模块(ngx_image_thumb)
ngx_image_thumb是nginx中用来生成缩略图的模块,生存缩略图的方法很多,之前也写过一篇 <nginx生成缩略图配置>,在github上发现国人开发的一款模块,作者的文档写的 ...
- Nginx核心流程及模块介绍
Nginx核心流程及模块介绍 1. Nginx简介以及特点 Nginx简介: Nginx (engine x) 是一个高性能的web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 ...
- Nginx,Nginx 搭建图片服务器
Nginx Nginx 概述 反向代理 工作流程 优点 1:保护了真实的web服务器,保证了web服务器的资源安全 2:节约了有限的IP地址资源 3:减少WEB服务器压力,提高响应速度 4:其他优点 ...
- Nginx一致性哈希模块的Lua实现
Nginx一致性哈希模块的Lua重新实现 技术背景: 最近在工作中使用了nginx+redis 的架构,redis在后台做分布式存储,每个redis都存放不同的数据,这些数据都是某门户网站通过Hado ...
随机推荐
- DBoW2应用
图像对应的bag-of-words向量\(v_t\) 假设词典总共有\(W\)个单词,那么每一幅图像能够用一个\(W\)维的向量表示 \((t_1, t_2, t_3, ..., t_W)\)其中 \ ...
- Hibernate初体验及简单错误排除
Hibernate是什么,有多少好处,想必查找这类博文的都知道,所以就不多说了.下面是我对Hibernate简单使用的一个小小的总结.与君(主要是刚入门的)共勉吧! 创建的顺序 创建Hibernate ...
- androidstudio各版本下载地址
文件夹如下,含android studio多个版本的下载地址:http://pan.baidu.com/s/1ntmdCPN 目前有以下版本: 0.5.2: windows 0.5.4: linux ...
- 通过Canvas及File API缩放并上传图片
原文地址:Resize an Image Using Canvas, Drag and Drop and the File API 示例地址:Canvas Resize Demo 原文作者:Dr. T ...
- Android开发-Listview中显示不同的视图布局
1. 使用场景 在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能.convertView在Item为单一的同种类型布局时,能够 ...
- TCP/IP入门(4) --应用层
/** 本篇博客由汗青ZJF整理并发布, 转载请注明出处: http://blog.csdn.net/zjf280441589/article/category/1854365 */ TCP/IP中的 ...
- 手机广告投放(phone advertising)唯一标识
手机标示,为了识别用户,方面advertising. 使用设备id,相当于暴露用户隐私.慢慢已不允许使用.. (长时间跟踪用户无异于暴露用户隐私,虽然大量数据适合兴趣建模,广告个性化推荐.但复杂多样会 ...
- React Native的WebStorm基本设置
jsx语法设置 在没有进行设置的情况下,每次打开WebStorm的时候打开包含jsx语法的.js文件都会有以下提示: 当然我们点击转换后就可以了,但是每次都会提示,所以还是来一个一劳永逸的方法把它给去 ...
- BLOCK/字面量(语法糖)OC——第六天
1.//block ,块语法,实质是匿名函数,是对C语言中函数的扩充,扩展: //block 语法可以用来保存一段代码或者用来调用一段封装好的代码: //block 语法由于是C语言实现的,所以执 ...
- Linux环境编程导引
计算机系统硬件组成 总线 贯穿整个系统的一组电子管道称为总线, 分为: 片内总线 系统总线 数据总线DB 地址总线AB 控制总线CB 外部总线 I/O设备 I/O设备是系统与外界联系的通道 键盘鼠标是 ...