您的位置:首页 > 运维架构 > Nginx

使用nginx为图片进行水印操作

2015-12-04 13:34 567 查看



博客分类:

打水印版nginx安装过程(centos)

1. 安装依赖组件

sudo yum install gd-devel pcre-devel libcurl-devel

2. 下载nginx

(1) 下载 wget http://nginx.org/download/nginx-1.9.6.tar.gz
(2)解压 tar -zxvf nginx-1.9.6.tar.gz

(3) 进入目录 cd nginx-1.9.6

3. 下载水印功能源代码
https://github.com/intaro/nginx-image-filter-watermark
点击download zip下载


伦理片 http://www.dotdy.com/

4. 覆盖nginx中的代码

将下载的zip解压,将其中的ngx_http_image_filter_module.c文件覆盖到nginx源码中(/src/http/modules/http_image_filter_module.c)

5. 编译安装nginx(假设nginx源码在usr/local/nginx/nginx-1.9.6中)

./configure --with-http_image_filter_module

--with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --prefix=/usr/local/nginx/nginx-1.9.6

make

make install

6. 配置

Example Usage

Base Usage:

location /img/ {

image_filter watermark;#开启水印

image_filter_watermark "PATH_TO_FILE";#水印文件位置

image_filter_watermark_position center-center;#水印位置

image_filter_jpeg_quality 95;#图片质量

image_filter_buffer 20M;#缓存

image_filter_watermark_width_from 400; # 打水印的图片最小宽带,只有大于这个宽带的才会打水印

image_filter_watermark_height_from 400; #打水印的图片最小高度,只有大于这个高度的才会打水印

}

Usage with resize and crop:

location ~ ^/r/(\d+|-)x(\d+|-)/c/(\d+|-)x(\d+|-)/(.+) {

set $resize_width $1;

set $resize_height $2;

set $crop_width $3;

set $crop_height $4;

alias /Users/goshan/Sites/Zot/Zot/web/$5;

try_files "" @404;

image_filter resize $resize_width $resize_height;

image_filter crop $crop_width $crop_height;

image_filter_jpeg_quality 95;

image_filter_buffer 2M;

image_filter_watermark_width_from 400; # Minimal width (after resize) of when to use watermark

image_filter_watermark_height_from 400; # Minimal height (after resize) of when to use watermark

image_filter_watermark "PATH_TO_FILE";

image_filter_watermark_position center-center;

7. 注意事项

(1) 水印文件必须是背景透明的文件

(2) 如果要打水印的图片文件会很大,需将image_filter_buffer设置大一些,比如20M

影音先锋电影 http://www.iskdy.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: