FastDFS分布式文件存储,4-500M文件都适合,它分为三个部分
第一部分,client,客户端,即发起访问者,使用者
第二部分 tracker,追踪器,可搭建集群,/文件上传时,tracker会跟踪文件资源,记住文件存在哪里
第三部分 storage,存储文件,仓库,可搭建集群,以分组为单位,每一组可以有若干个 stroage,但是这一组里的文件时一模一样的,等于是备份,不同组的文件是不同的,可以做到数据的隔离,若不搭建集群,就一个组
系统:linux系统服务器
需要搭建的系统环境
GCC用来对C语言代码进行编译运行,使用yum命令安装:
sudo yum -y install gcc
安装unzip工具
sudo yum install -y unzip zip
安装libevent
sudo yum -y install libevent
安装Nginx所需依赖
sudo yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
上传需要安装的文件
链接: https://pan.baidu.com/s/1visZR7IzfhYEnMzuJTFVEg 提取码: jjg9
下载文件,将文件上传至linux系统的某个文件夹下,我的是在home(/home/xxx/dfs)下定义的,你随意
使用命令解压文件
安装libfastcommon-master
tar -xvf libfastcommon-master.zip
进入解压完成的目录:
cd libfastcommon-master
编译并且安装:
sudo ./make.sh
sudo ./makesh install
或者
sudo ./make.sh && sudo ./makesh install
到这里为止,所有依赖都已经安装完毕,接下来我们安装FastDFS:
安装FastDFS
解压
tar -xvf FastDFS_v5.08.tar.gz
进入目录
cd FastDFS
编译并安装
sudo ./make.sh
sudo ./make.sh install
或者
sudo ./make.sh && sudo ./make.sh install
这个时候你可以在etc/fds 目录下看到刚刚新安装的文件了
cd /etc/fdfs
其中:
- tarcker.conf.sample 是tracker的配置文件模板
- storage.conf.sample 是storage的配置文件模板
- client.conf.sample 是客户端的配置文件模板
可以使用 以下命令修改文件名
mv tarcker.conf.sample tarcker.conf
执行后就会变成 tarcker.conf文件,
这三个文件我们都需要进行一些编辑
1、编辑tarcker.conf,只需要改这一步就ok了,按esc, : wq 保存并退出
使用命令
vi tarcker.conf
然后…
2、编辑storage.conf文件
依旧使用命令
vi storage.conf
修改四个地方
#修改第一步修改,组名,自定义,可以改可以不改,您高兴就行
group_name=group1
#修改第二步,存储数据和目录的路径
# the base path to store data and log files
base_path=/xxx/fdfs/storage #与上个图修改的地址 是同一个目录关系,
#修改第三步,上传文件之后存储的目录
store_path0=/xxx/fdfs/storage #与第二步保持一致
#修改第四步,tracker地址,就是你服务器的地址,建议不要写127,
tracker_server=xxx.xxx.xx.xxx:22122
3、修改 client.conf文件
依旧使用
vi client.conf
修改2个地方
#修改第一步
base_path=/tmp #你随意,但请你记住
#修改第二步,tracker的地址
tracker_server=xxx.xxx.xx.xxx:22122
现在三个文件都修改好了,我们尝试启动tracker与stroage,然后利用client 进行测试,测试我们是否搭建成功
因为这三个我们在安装的时候,他已经在etc文件夹下进行了文件写入,也就是说,他已经加入了服务了,大家都知道哦,加入了服务的程序,我们都可以使用service进行启动,比如mysql,
下面我们启动一下
service fdfs_trackerd start
service fdfs_storaged start #同样这里 关闭 重启都是可以的,只需替代start就可以了
这时候可能会启动报错,那是因为有两个文件夹你还没创建呢,记得吗?
修改配置文件的时候,你亲手写的文件目录,现在我们来创建吧
sudo mkdir -p /xxx/fdfs/tracker
sudo mkdir -p /xxx/fdfs/storage
现在两个文件夹都被我们创建好了,现在可以重新启动这两个服务
一切ok没有报错的话,如下图
我们现在利用clienc进行验证是否成功,记得刚才 修改client.conf文件的时候,你写的base_path=/tmp 这个路径嘛,先在这个文件夹下面,你随意上传几张图或者小视频,接下来用client验证是否会把这个文件存储到stroage里
/usr/bin/fdfs_upload_file client.conf /tmp/2.jpeg
/usr/bin/fdfs_upload_file client.conf /tmp/1.mp4
他会返回一串字母,这就是上传成功后的资源地址。如图
至此,算是在linux系统里,单机存储已经搭建完成了,接下来就是考虑怎么通过java代码或者其他组件来实现文件上传下载,请后续关注我的其他博客。