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 ...
随机推荐
- TCP的发送系列 — tcp_sendmsg()的实现(一)
主要内容:Socket发送函数在TCP层的实现 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 上一篇blog讲的是send().sendto().sen ...
- 【OpenGL】详解第一个OpenGL程序
写在前面 OpenGL能做的事情太多了!很多程序也看起来很复杂.很多人感觉OpenGL晦涩难懂,原因大多是被OpenGL里面各种语句搞得头大,一会gen一下,一会bind一下,一会又active一下. ...
- MyBatis Generator For Eclipse 插件安装
由于在ORM框架MyBatis中,实现数据表于JavaBean映射时,配置的代码比较的复杂,所以为了加快开发的效率,MyBatis官方提供了一个Eclipse的插件, 我izuoyongjiushis ...
- sql的索引:网上看到不错,整理成自己的东西
数据库建立索引可以提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable(ID INT NOT NULL,username VARCHAR(16) NOT NU ...
- Win 10 下 android studio显示 Intel haxm无法安装,以及VT-X和hyper-x的冲突问题
我 的电脑是神舟战神k650c i7 D4,处理器是Intel core i7 4710-MQ,系统是win 10的 我心血来潮想学习一下安卓开发,就首先安装了android s ...
- A*寻路算法入门(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Git版本控制:Git高级教程
http://blog.csdn.net/pipisorry/article/details/50669350 Git有很多命令行参数,使用起来非常方便.可以运行 man git log ,来看一下这 ...
- Coco2dx制作一个3D旋转的效果
建了工程之后修改HelloWorldScene.cpp文件,修改部分为 // on "init" you need to initialize your instance bool ...
- Spring MVC中jsessionid所引起的问题 和解决
转自:http://blog.csdn.net/seakingwy/article/details/1933687 jsessionid所引起的问题在Spring MVC当使用RedirectV ...
- Rust语言之HelloWorld
Rust语言之HelloWorld 参考文档: http://doc.crates.io/guide.html 1 什么是Cargo 相当于maven/ant之于java, automake之于c, ...