2016年08月22日 17:34:055282人阅读 评论(2) 收藏 举报
 分类:
Linux常用软件安装与配置(37)  nginx(4) 

目录(?)[+]

1 http_image_filter_module

http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽高以及图片类型信息。

1.1 查看有没有安装

# /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.5.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=/usr/local/src/nginx/fastdfs-nginx-module/src

2 模块说明

image_filter off;
#关闭模块

image_filter test;
#确保图片是jpeg gif png否则返415错误

image_filter size;
#输出有关图像的json格式:例如以下显示{ "img" : { "width": 100, "height": 100, "type": "gif" } } 出错显示:{}

image_filter rotate 90|180|270;
#旋转指定度数的图像,參数能够包括变量,单独或一起与resize crop一起使用。

image_filter resize width height;
#按比例降低图像到指定大小,公降低一个能够还有一个用"-"来表示,出错415,參数值可包括变量,能够与rotate一起使用,则两个一起生效。

image_filter crop width height;
#按比例降低图像比較大的側面积和还有一側多余的载翦边缘,其他和rotate一样。没太理解

image_filter_buffer 10M;
#设置读取图像缓冲的最大大小,超过则415错误。

image_filter_interlace on;
#假设启用,终于的图像将被交错。对于JPEG,终于的图像将在“渐进式JPEG”格式。

image_filter_jpeg_quality 95;
#设置变换的JPEG图像的期望质量。可接受的值是从1到100的范围内。较小的值通常意味着既降低图像质量,降低数据传输,推荐的最大值为95。參数值能够包括变量。

image_filter_sharpen 100;
#添加了终于图像的清晰度。锐度百分比能够超过100。零值将禁用锐化。參数值能够包括变量。

image_filter_transparency on;
#定义是否应该透明转换的GIF图像或PNG图像与调色板中指定的颜色时,能够保留。透明度的损失将导致更好的图像质量。在PNG的Alpha通道总是保留透明度。

3 安装

3.1 安装gd,HttpImageFilterModule模块需要依赖gd-devel的支持

# yum -y install gd-devel

3.2 将http_image_filter_module包含进来

# cd /usr/local/src/nginx

# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=/usr/local/src/fastdfs/fastdfs-nginx-module/src --with-http_image_filter_module
#  make && make install

4 配置nginx

4.1 正常缩放

# vi /usr/local/nginx/conf/nginx.conf

location ~* /img {
    root /data0; 
    image_filter resize 150 100;
    image_filter rotate 90;      
}

http://img2.mydomain.com/img/w8.png

4.2 fastdfs配置

a)架构与安装

参考:http://blog.csdn.net/clevercode/article/details/52276169.

b)配置

[plain] view plain copy
  1. location ~ group1/M00/(.+)_([0-9]+)x([0-9]+)\.(jpg|gif|png) {
  2. alias /data0/fastdfs/storage/storage0/data;
  3. ngx_fastdfs_module;
  4. set $w $2;
  5. set $h $3;
  6. if ($w != "0") {
  7. rewrite group1/M00(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ group1/M00$1.$4 break;
  8. }
  9. if ($h != "0") {
  10. rewrite group1/M00(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ group1/M00$1.$4 break;
  11. }
  12. #根据给定的长宽生成缩略图
  13. image_filter resize $w $h;
  14. #原图最大2M,要裁剪的图片超过2M返回415错误,需要调节参数image_filter_buffer
  15. image_filter_buffer 2M;
  16. #try_files group1/M00$1.$4 $1.jpg;
  17. }
  18. location ~ group1/M00/(.+)\.?(.+){
  19. alias /data0/fastdfs/storage/storage0/data;
  20. ngx_fastdfs_module;
  21. }

c)访问原图.

http://img2.mydomain.com/group1/M00/00/00/wKhlhFe7DCeAcOvYAAaxqYLWRQk392.png

d)访问缩略图
http://img2.mydomain.com/group1/M00/00/00/wKhlhFe7DCeAcOvYAAaxqYLWRQk392_80x60.png

转: nginx使用image_filter生成缩略图 -- fasdfs海量图片缩略图整合的更多相关文章

  1. 帝国cms教程:帝国cms在列表页使用sys_ResizeImg函数自动生成不同大小的缩略图

    先说说 ecms7.0的sys_ResizeImg这个函数 下面是在列表页使用方法 在右侧把使用程序代码打勾! 如下图: 例如你原先的列表页循环内容代码为: <li><img src ...

  2. NGINX按天生成日志文件的简易配置

    NGINX按天生成日志文件的简易配置 0x01 最近后端童鞋遇到一个小需求,拆分nginx生成的log文件,最好是按天生成,看着她还有很多bug待改的状态,我说这个简单啊,我来吧.曾经搞node后端的 ...

  3. docker:nginx+confd动态生成配置

    docker:nginx+confd动态生成配置 当我们项目越来越多时手动去服务器修改nginx配置是一件很麻烦而且可能出错的事情.我们可以通过nginx+confd+配置中心实现一套方案避免出错并减 ...

  4. nginx利用image_filter动态生成缩略图

    转自:http://www.nginx.cn/2160.html "我如今是有些图片须要生成缩略图.这个如今加了image_filter这个已经实现了.但我不知道怎么样才干訪问我上传的原图& ...

  5. nginx+lua_nginx+GraphicsMagick生成实时缩略图

    暂做笔记,带后续验证通过后,再补充 1.2.3 步. 一.安装 lua 首先确认是否安装 readline yum -y install readline-devel ncurses-devel 进入 ...

  6. wordpress4.4+版本自动生成一个768w像素缩略图的解决办法

    4.4版本以后,wordpress增加了响应式图片的功能,目的是让图片能适应手机.平板等不同屏幕,但是我不想要这个功能,把缩略图大小全调成0,function.php里的相关函数全删除了, 上传图片还 ...

  7. nginx 按天生成日志

    nginx日志access.log error.log按天生成存储,定时删除日志 logrotate https://linux.cn/article-4126-1.html http://blog. ...

  8. 在RPA中使用Python批量生成指定尺寸的缩略图!比Ps好用!

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 htt ...

  9. Nginx基础知识————生成自签名ca 证书 使nginx 支持https

    创建服务器私钥,命令会让你输入一个口令: $ openssl genrsa -des3 -out server.key 1024 创建签名请求的证书(CSR): $ openssl req -new ...

随机推荐

  1. Pause Web Sessions

    To pause specific sessions, add rules using FiddlerScript to the OnBeforeRequest function (except wh ...

  2. C# ACCESS数据库链接

    private void button1_Click(object sender, EventArgs e)        { string strConnection = "Provide ...

  3. MySQL 内存和CPU优化相关的参数

    mysql> SHOW GLOBAL STATUS LIKE 'innodb%read%'; +---------------------------------------+--------- ...

  4. 图像检索:RGBHistogram+欧几里得距离|卡方距离

    RGBHistogram: 分别计算把彩色图像的三个通道R.G.B的一维直方图,然后把这三个通道的颜色直方图结合起来,就是颜色的描写叙述子RGBHistogram. 以下给出计算RGBHistogra ...

  5. Android 使用DDMS查看内存使用情况

  6. MariaDB的存储过程和函数

    创建存储过程 DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_test1`; CREATE PROCEDURE sp_test1(IN a int, IN b in ...

  7. Installing ODIConsole application using weblogic server

    在ODI 创建Java EE Agent时候, 启动Fusion Middleware配置向导创建新域的时候,选择的模板如下,已经包含了 Oracle Data Integrator - Consol ...

  8. 转 php安装错误configure: error: Please reinstall the libcurl distribu

    今天配置一台server的php支持curl的时候, 出现如下报错 checking for cURL in default path... not foundconfigure: error: Pl ...

  9. rabbitmq重装依赖的erlang 要注意

    今天安装的erlang和rabbitmq版本不匹配导致出现各种问题,在使用正确版本安装后出现问题,在日志中找到报错信息: {"init terminating in do_boot" ...

  10. FTP下载工具

    开源的FTP下载工具,FTP搬运工.... 01.FileZilla_3.21.0_win64 官方地址: https://filezilla-project.org/ 下载地址: http://pa ...