FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理。FastDFS 架构包括 Tracker server 和 Storage server。
功能:
文件存储、文件同步、文件访问(文件上传、文件下载)等。解决了大容量存储和负载均衡的问题。适合以文件为载体的在线服务。
libfastcommon是一个针对fastdfs的基础类库
# 下载libfastcommon-1.0.43
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz
# 解压
tar -zxvf libfastcommon-1.0.43.tar.gz
# 进入libfastcommon-1.0.43目录
cd libfastcommon-1.0.43
# 编译
./make.sh
# 安装
./make.sh install
也可以直接上传下载好的libfastcommon-1.0.43.tar.gz文件,链接https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz
yum -y install gcc
# 下载 也可以手动下载,下载后的文件名为fastdfs-6.06.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz
# 解压
tar -zxvf fastdfs-6.06.tar.gz
# 进入目录
cd fastdfs-6.06
# 编译
./make.sh
# 安装
./make.sh install
Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些策略找到Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务器。
# 复制模板文件
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
# 创建/xu/fdfs/tracker目录,为存储日志和数据的根目录
mkdir -p /xu/fdfs/tracker
# 修改复制后的配置文件,将base_path=后的目录改成/xu/fdfs/tracker(自己创建)
vim /etc/fdfs/tracker.conf
# 启动服务(安装过程中,fdfs已被设为系统服务)
service fdfs_trackerd start
# 检查FastDFS Tracker Server是否启动成功
ps -ef | grep fdfs_trackerd
# 设置tracker服务开机启动:
chkconfig fdfs_trackerd on
注意开放端口
启动tracker服务器: /etc/init.d/fdfs_trackerd start
停止tracker服务器: /etc/init.d/fdfs_trackerd stop
Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上,可以将storage称为存储服务器
# 复制模板文件
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
# 创建/xu/fdfs/storage目录,为存储日志和数据的根目录
mkdir -p /xu/fdfs/storage
# 修改复制后的配置文件,将base_path=后的目录改成/xu/fdfs/storage(自己创建)
vim /etc/fdfs/storage.conf
base_path=/xu/fdfs/storage # 数据和日志文件存储根目录
store_path0=/xu/fdfs/storage # 第一个存储目录
tracker_server=你的IP:22122 # tracker服务器IP和端口
# 启动服务(安装过程中,fdfs已被设为系统服务)
service fdfs_storaged start
# 设置tracker服务开机启动:
chkconfig fdfs_storaged on
启动storage服务器:/etc/init.d/fdfs_storaged start
停止storage服务器:/etc/init.d/fdfs_storaged stop
# 复制模板文件
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
# 创建目录
mkdir -p /xu/fdfs/client
# 修改配置,bash_path以及tracker_server
vim /etc/fdfs/client.conf
base_path = /xu/fdfs/client
tracker_server = 你的ip:22122
# 测试上传,/root/1608642237930.jpg可替换为你的文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/1608642237930.jpg
注意storage.conf中的group_name和tracker.conf中的store_group对应