本nginx模块主要功能是对请求的图片进行缩略/水印处理,支持文字水印和图片水印。
支持自定义字体,文字大小,水印透明度,水印位置。
判断原图是否是否大于指定尺寸才处理。 ....等等
编译方法
编译前请确认您的系统已经安装了libcurl-dev libgd2-dev libpcre-dev 依赖库
Debian / Ubuntu 系统举例
# 如果你没有安装GCC相关环境才需要执行
$ sudo apt-get install build-essential m4 autoconf automake make
$ sudo apt-get install libgd2-noxpm-dev libcurl4-openssl-dev libpcre3-dev
CentOS /RedHat / Fedora
# 请确保已经安装了gcc automake autoconf m4
$ sudo yum install gd-devel pcre-devel libcurl-devel
FreeBSD / NetBSD / OpenBSD
# 不多说了,自己用port 把libcurl-dev libgd2-dev libpcre-dev 装上吧
# 编译前请确保已经安装gcc automake autoconf m4
Windows
# 也支持的,不过要修改的代码太多了,包括Nginx本身,用VC++来编译
# 嫌麻烦可以用cygwin来编译。还是不建议你这么做了,用Unix/Linux操作系统吧。
下载nginx / tengine 源代码
然后下载本模块代码,并放在nginx源代码目录下
选Nginx还是Tengine,您自己看,两者选其一
# 下载Tengine
$ wget http://tengine.taobao.org/download/tengine-1.4.5.tar.gz
$ tar -zxvf tengine-1.4.5.tar.gz
$ cd tengine-1.4.5
# 下载Nginx
$ wget http://nginx.org/download/nginx-1.4.0.tar.gz
$ tar -zxvf nginx-1.4.0.tar.gz
$ cd nginx-1.4.0
$ wget https://github.com/3078825/nginx-image/archive/master.zip
$ unzip master.zip
$ ./configure --add-module=./nginx-image-master
$ make
$ sudo make install
配置方法
打开 nginx.conf
vim /etc/nginx/nginx.conf
# 该路径为默认路径,如果不在此处,自己找一下 find / -name "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
调用说明
这里假设你的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 参数按请求宽高比例从图片高度 10% 处开始截取图片,然后缩放/放大到指定尺寸( 图片缩略图大小等于请求的宽高 )
M 参数按请求宽高比例居中截图图片,然后缩放/放大到指定尺寸( 图片缩略图大小等于请求的宽高 )
T 参数按请求宽高比例按比例缩放/放大到指定尺寸( 图片缩略图大小可能小于请求的宽高 )
W 参数按请求宽高比例缩放/放大到指定尺寸,空白处填充白色背景颜色( 图片缩略图大小等于请求的宽高 )
调用举例
http://127.0.0.1/test.jpg!c300x300.jpg
http://127.0.0.1/test.jpg!t300x300.jpg
http://127.0.0.1/test.jpg!m300x300.jpg
http://127.0.0.1/test.jpg!w300x300.jpg
http://127.0.0.1/test.c300x300.jpg
http://127.0.0.1/test.t300x300.jpg
http://127.0.0.1/test.m300x300.jpg
http://127.0.0.1/test.w300x300.jpg
利用nginx image 模块 对 图片进行动态的压缩 1.下载nginx 这里有2种选择.一种是taobao基于nginx修改的tengine,还有就是nginx 我演示用的是tengine . http://tengine.taobao.org/ 在官网上下载最新版本 2.下载image module模块 wget https://github.com/3078825/ngin
Nginx Image Module图片缩略图 水印处理模块 下载Tengine tar -zxvf tengine-1.4.5.tar.gz cd tengine-1.4.5 下载Nginx tar -zxvf nginx-1.4.0.tar.gz cd nginx-1.4.0 wget https://github.com/3078825/nginx-image/archiv
注:转载自https://www.cnblogs.com/52fhy/p/10164553.html lua-nginx-module 模块可以将Lua的强大功能嵌入NGINX服务器。 下载Nginx源码 如果已安装Nginx,需要查看当前安装版本的编译参数: $ /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.12.2 built by
请先按照教程安装最新的openssl https://my.oschina.net/liuguangqiang/blog/2243639 1:下载headers-more-nginx-module模块 https://github.com/openresty/headers-more-nginx-module/releases 解压到headers-more-nginx-module目录备用 2:
Ubuntu20.04中fastdfs,nginx的安装和配置 环境准备: 编译环境: Ubuntu20.04 使用的系统软件: fastdfs-6.07 fastdfs-nginx-module-1.22 libfastcommon-1.0.53 nginx-1.18.0 安装libfastcommon: git clone https://github.com/happyfish100/lib
Nginx图片处理原理 这里需要用到 nginx的 http_image_filter_module 模块,这个模块可以很方便的实现图片缩放功能,只是默认的情况下并不会安装,需要自己编译安装才能行。编译的时候./configure 增加 –with-http_image_filter_module 编译安装即可 Nginx图片处理的优缺点 优点 操作简单。通过简单配置,省去了后端裁剪程序的复杂性。
1、安装依赖 yum -y install gd-devel 2、下载nginx 现在新版本的nginx,注意老版本可能不支持 wget http://nginx.org/download/nginx-1.20.1.tar.gz 3、解压安装 tar -zxvf nginx-1.20.1.tar.gz 4、编译安装 cd nginx-1.20.1 ./configure --prefix=/o
一、前言 公司的服务器版本用的是: centos6.5 2.6.32-431.el6.x86_64 通过命令安装docker yum -y install docker-io 安装成功之后,启动Docker,提示: docker: unrecognized service 在网上找了一圈,发现如下说明: Docker容器最早受到RHEL完善的支持是从最近的CentOS 7.0开始的,官方说明是
资源1: 官网: http://nginx.org 资源2: 官方学习资源, wiki, nginx安装之wiki介绍 资源3: 编译选项列表 资源4: nginx源码下载列表,当前Stable版本是nginx-1.14.0, 资源5: 官方新手入门 资源6: 内置变量大全(重点掌握), 内置指令大全(重点掌握), 重定向(重点掌握) 核心功能(重点掌握) 安装资
FastDFS介绍: FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。 特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务
通过yum安装的nginx 加载image_filter方式方法: yum install -y gd-devel libgd gcc libgd yum install -y nginx-module-image-filter 在 nginx.conf 中最上方写入 load_module modules/ngx_http_image_filter_module.so; 在conf.d/defa
nginx平滑升级及添加新功能 1. nginx-1.20.2部署 nginx-1.20.2部署 2. 为什么要对 nginx 平滑升级 随着 nginx 越来越流行,并且 nginx 的优势也越来越明显,nginx 的版本迭代也来时加速模式,1.9.0版本的nginx更新了许多新功能,例如 stream 四层代理功能,伴随着 nginx 的广泛应用,版本升级必然越来越快,线上业务不能停,此时 n
本文参考配置https://github.com/Parli/nginx-vts-docker 稍作修改 搜索到的docker镜像nginx版本比较低,为1.11,1.13,这里用的nginx版本为1.20.0 Dockerfile FROM alpine:3.5 LABEL maintainer="eric@slant.co" ENV NGINX_VERSION 1.22.0 ENV VTS
----------------------------------FastDFS安装------------------------------------ 一、安装FastDFS 0、克隆并修改 端口号 vim /etc/sysconfig/network-scripts/ifcfg-ens33 更新 systemctl restart network 1、安
本文向大家介绍Java图片处理 (文字水印、图片水印、缩放、补白)代码实例,包括了Java图片处理 (文字水印、图片水印、缩放、补白)代码实例的使用技巧和注意事项,需要的朋友参考一下
A common use case for watermarking is to lay one image on top of another. The following examples demonstrate some of the pre-packaged image positioning functions that come with watermark.js. Lower Rig
本文向大家介绍PHP开发的文字水印,缩略图,图片水印实现类与用法示例,包括了PHP开发的文字水印,缩略图,图片水印实现类与用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP开发的文字水印,缩略图,图片水印实现类与用法。分享给大家供大家参考,具体如下: 1.实现类ImageToTest.class.php参考代码 2.测试参考代码 更多关于PHP相关内容感兴趣的读者可查看本站专题
本文向大家介绍python制作图片缩略图,包括了python制作图片缩略图的使用技巧和注意事项,需要的朋友参考一下 缩略图 在很多时候我们都需要将图片按照同比例缩小有利于存储 但是一张张手动去改的话太麻烦了 今天我们就用python实现一个简单的将一个文件夹中的所有图片进行指定大小的调整 缩略前: 代码: 缩略后: 参数使用说明: 1、os模块,python的os模块封装了常见的文件和目录操作。
本文向大家介绍PHP图像处理 imagestring添加图片水印与文字水印操作示例,包括了PHP图像处理 imagestring添加图片水印与文字水印操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP图像处理 imagestring添加图片水印与文字水印操作。分享给大家供大家参考,具体如下: imagestring添加图片水印 这里我们使用了imagestring方法来添加文字
本文向大家介绍PHP图片处理之使用imagecopy函数添加图片水印实例,包括了PHP图片处理之使用imagecopy函数添加图片水印实例的使用技巧和注意事项,需要的朋友参考一下 为图片添加水印也是图片处理中常见的功能。因为只要在页面中见到的图片都可以很轻松地拿到,你辛辛苦苦编辑的图片不想被别人不费吹灰之力拿走就用,所以为图片添加水印以确定版权,防止图片被盗用。制作水印可以使用文字(公司名称加网址
主要内容:ImageDraw,ImageFont,添加图片水印为图片添加水印能够在一定程度上避免其他人滥用您的图片,这是保护图片版权的一种有效方式。因此,当您在微博、或者博客等一些公众平台分享图片的时候,建议您为自己的图片添加一个水印,来证明这张图片属于您。 添加水印的方式的有很多种,比如通过一些图像处理软件,或者手机美图软件都可以实现添加水印的操作,但是这种操作比较复杂,甚至有些软件还不是免费的。 Pillow 库提供了添加水印的方法,操作简单,易学、易用
本文向大家介绍CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等),包括了CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了CI框架封装的常用图像处理方法。分享给大家供大家参考,具体如下: 其实微信手机端上图时,列表图最好是缩略图,节省流量,这不,又被移动坑了一把,话费签一分就停机,流量欠到90块才停机,我也是醉了。。。 不