程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!( 三 )


FastDFS是C语言开发,建议在linux上运行,本教程使用centos7作为安装环境 。
安装细节请参考 "fastDFS安装教程.doc" 。
3.1.2Tracker配置
fastDFS的配置文件目录 :/etc/fdfs
主要的配置文件:/etc/fdfs/tracker.conf (tracker配置文件 );storage.conf(storage配置文件)
 

程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!

文章插图
 
tracker.conf配置内容如下:
端口:port=22122
tracker 基础目录:base_path=/home/fastdfs,tracker在运行时会向此目录存储storage的管理数据 。
3.1.3storage配置
storage.conf配置 内容如下:
组名:group_name=group1
端口:port=23000
向tracker心跳间隔(秒):heart_beat_interval=30
storage基础目录:base_path=/home/fastdfs
磁盘存储目录:
store_path0=/home/fastdfs/fdfs_storage 此目录下存储上传的文件,在/home/fastdfs/fdfs_storage/data下
store_path1=...
...
有多个磁盘就定义多个store_path
上报tracker的地址:tracker_server=192.168.101.64:22122
如果有多个tracker则配置多个tracker,比如:
tracker_server=192.168.101.64:22122
tracker_server=192.168.101.65:22122
....
3.1.4启动停止
fastDFS启动/停止脚本目录:
fdfs_trackerd:tracker脚本,通过此脚本对 tracker进行启动和停止
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!

文章插图
 
fdfs_storaged:storage脚本,通过此脚本对 storage进行启动和停止
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
3.2 文件上传下载测试
3.2.1搭建环境
这里我们使用JAVAApi测试文件的上传 。
java版本的fastdfs-client地址在:github.com/happyfish100/fastdfs-client-java,参考此工程编写测试用例 。
1)创建maven工程
2)添加依赖
程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!

文章插图
 
3) 配置 文件
在classpath:config下创建fastdfs-client.properties文件
程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!

文章插图
 
3.2.2 文件上传
程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!

文章插图
 
3.2.3 文件查询
程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!

文章插图
 
 
3.2.4 文件下载
程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!

文章插图
 
4 文件服务案例4.1 目标
通过文件服务案例达到以下目标:
1、理解fastDFS在实际项目中的使用方法 。
2、能够使用fastDSF实现图片服务器 。
4.2需求分析
 
程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!

文章插图
 
说明如下:
1、管理员在管理系统中上传图片到fastDFS文件系统 。
1)管理员进入管理系统,点击上传图片,选择本地图片
2)选择本地图片后,进行上传,前端浏览器会通过http调用文件管理服务的文件上传接口进行上传
3)文件管理服务通过socket请求fastDFS文件系统的上传图片,最终图片保存在fastDFS文件系统中的storageserver中 。
2、网友浏览免费视频的课程图片
1)网友输入www.itcast.cn进入视频下载页面
2)前端浏览器通过图片地址请求图片服务器代理(Nginx)
3)图片服务器代理根据负载情况将图片浏览请求转发到一台storage server
4)storage server找到图片后通过nginx将图片响应给网友
4.3 功能开发
4.3.1 搭建fastDFS文件服务器
1)安装fastDFS tracker和storage略
2)在storage server上安装nginx
在storage server上安装nginx的目的是对外通过http访问storage server上的文件 。
使用nginx的模块FastDFS-nginx-module,它的作用是通过http方式访问storage中的文件,当storage本机没有要找的文件时向源storage主机代理请求文件 。
详细参见 fastDFS安装教程
3)在安装图片服务代理
图片服务代理的作用是负载均衡,根据storage server的负载情况将图片浏览请求均匀的转发到storage server上 。
4.3.2 搭建文件管理服务
文件管理服务提供通过http方式上传文件,删除文件、查询文件的功能,管理员通过文件管理服务对文件服务器上的文件进行管理 。
文件管理服务采用Spring Boot开发,文件管理服务通过与fastDFS交互最终将用户上传的文件存储到fastDFS上 。


推荐阅读