Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 504|回复: 0

FasDfs缩略图解决方案 -- Linux

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-8-30 12:15:40 | 显示全部楼层 |阅读模式

    前面研究了fastdfs的安装部署,并且做了多机同步。

    这次我们解决下FastDFS做文件服务器并处理缩略图的问题。

    有两个方案,方案1,在上传过程中生成多张图片,服务器存备。方案2,只上传一张图片,在下载时候进行调整。我们这里采用方案2。

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

    yum -y install gd-deve

    出错了,怎么办。

    查找参数来列出gd-deve相关的包名:

    yum search gd-devel

    yum -y install gd-devel.x86_64

    安装成功

     ②将http_image_filter_module包含进来

    1、 cd nginx-1.14.0

      # nginx-1.14.0是我们的nginx安装包目录

    2、./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src --with-http_image_filter_module 

      #只是比前面配置多加了个--with-http_image_filter_module

    3、 make && make install 重新安装

    ③修改配置

    vim /usr/local/nginx/conf/nginx.conf

    结果

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

    ④测试

    还是用我们之前的图,虽然有点小

    原图

    http://192.168.50.20/group1/M00/00/00/wKgyFFtm9mWAZfJhAAANHkI1RM4732.gif

     

    缩略图

    http://192.168.50.20/group1/M00/00/00/wKgyFFtm9mWAZfJhAAANHkI1RM4732_80x50.gif

    差别只是最后gif前加了个"_80x50"

     


     

    GD是什么?

    1、GD库是php平台的一个关于图像处理的扩展。

    PHP通过GD扩展去操作图片,是先在内存中处理,处理完以后以文件流的方式输出,可以输出到浏览器,也可以输出到磁盘上。因此一般的步骤是:

    1. 创建画布。其实就是在内存中开辟一块区域。
    2. 在画布上绘制图形。可以填充颜色,绘制“点”、“线”、“文本”、“图像”等
    3. 输出图像(浏览器或者磁盘)。
    4. 销毁图像,释放资源。

    我们这里不介绍太多,具体看园友的链接  GD库简介和使用

    2、http_image_filter_module是什么?

    http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版,可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽高以及图片类型信息 。

     

    相关阅读:

    CentOS7最小化安装-Linux-1

    安装配置fastDFS文件服务器 - Linux

    FastDFS 配置 Nginx 模块,并实现分布式同步-Linux

    FasDfs缩略图解决方案 -- Linux

    C# 使用FastDFS 文件服务

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-23 04:57 , Processed in 0.098449 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表