准备两个 Linux 服务器(也可以使用一个)。两个服务器分别作为 tracker 服务器(跟踪服务器)和 storage 服务器(存储服务器)。 Tracker 服务器 : 192.168.2.109 Storage 服务器 :192.168.2.110 安装包都存放在/root/upload 目录中。解压后的安装包根据具体命令查看。(/usr/local/fastdfs)

1. 核心安装

Tracker Server 和 Storage Server 完全一直的安装。
版本:FastDFS 5.0.8 版本

1.1 安装FastDFS依赖

FastDFS 是 C 语言开发的应用。安装必须使用 make、cmake 和 gcc 编译器。

yum install -y make cmake gcc gcc-c++

1.2 解压FastDFS核心库

libfastcommon 是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库

cd /root/upload unzip libfastcommon-master.zip -d  
/usr/local/fastdfs

1.3 进入解压后的目录

cd /usr/local/fastdfs/libfastcommon-master

1.4 编译安装

libfastcommon 没有提供 make 命令安装文件。使用的是 shell 脚本执行编译和安装。shell脚本为 make.sh 编译./make.sh 安装./make.sh install 有固定的默认安装位置。在/usr/lib64 和/usr/include/fastcommon 两个目录中。

./make.sh && ./make.sh install

1.5 创建软连接

因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so      
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so 
ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so 
ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

1.6 解压 FastDFS 主程序

本案例使用 5.08 版本 FastDFS。

cd /root/upload 
tar -zxf FastDFS_v5.08.tar.gz -C /usr/local/fastdfs

1.7 进入 FastDFS 主程序源码目录

cd /usr/local/fastdfs/FastDFS

1.8 修改安装路径

此操作可选。在集群环境中使用默认安装路径安装。两种安装方式都尝试一下。

vi /usr/local/fastdfs/FastDFS/make.sh 
TARGET_PREFIX=$DESTDIR/usr -> TARGET_PREFIX=$DESTDIR/usr/local

1.9 编译安装

./make.sh 
./make.sh install 

安装后,FastDFS 主程序所在位置是: /usr/local/bin - 可执行文件所在位置。默认安装在/usr/bin 中。 /etc/fdfs - 配置文件所在位置。就是默认位置。 /usr/local/lib64 - 主程序代码所在位置。默认在/usr/bin 中。 /usr/local/include/fastdfs - 包含的一些插件组所在位置。默认在/usr/include/fastdfs 中。

1.10 FastDFS 安装后资源简介

1.10.1 服务脚本

/etc/init.d/目录中,脚本文件是 - fdfs-storaged 和 fdfs-trackerd ls

/etc/init.d/ | grep fdfs

1.10.2 配置文件模板

/etc/fdfs/ 目 录 中 , 配 置 文 件 是 - client.conf.sample 、 storage.conf.sample 和 tracker.conf.sample

ls /etc/fdfs/ 

tracker.conf.sample - 跟踪器服务配置文件模板 storage.conf.sample - 存储服务器配置文件模板 client.conf.sample - FastDFS 提供的命令行客户端配置文件模板。可以通过命令行测试 FastDFS 有效性。

1.10.3 内置命令

/usr/local/bin/目录中。命令有若干。可通过命令在控制台访问 FastDFS。

ls /usr/local/bin/ | grep fdfs

image.png
以上为通用安装,FastDFS 的跟踪服务和存储服务是通过配置实现的。后续内容为跟 踪服务和存储服务的具体配置。

2. tracker 基础配置

只在 tracker server 节点中配置。192.168.2.109

2.1 创建跟踪服务配置文件

FastDFS 提供了配置文件模板,可以根据模板创建需要使用的配置文件。

cd /etc/fdfs 
cp tracker.conf.sample tracker.conf

2.2 修改配置文件

tracker.conf 配置文件用于描述跟踪服务的行为,需要进行下述修改:

vi /etc/fdfs/tracker.conf port=22122 # 默认服务端口 
base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/tracker(自定义目录) 

base_path 是 FastDFSTracker 启动后使用的根目录。也就是 data 和 logs 所在位置。

2.3创建自定义目录

为配置文件中定义的 base_path 变量创建对应的目录。

mkdir -p /fastdfs/tracker 

2.4修改启动服务脚本

vi /etc/init.d/fdfs_trackerd 

将 PRG=/usr/bin/fdfs_trackerd 修改为PRG=/usr/local/bin/fdfs_trackerd

2.5启动服务

/etc/init.d/fdfs_trackerd start 

***启动成功后,配置文件中 base_path 指向的目录中出现 FastDFS 服务相关数据目录(data 目录、logs 目录) ***

2.6查看服务状态

/etc/init.d/fdfs_trackerd status ps aux | grep fdfs 

2.7停止服务

/etc/init.d/fdfs_trackerd stop 

2.8重启服务

/etc/init.d/fdfs_trackerd restart

3. storage 基础配置

只在 storage server 中配置。192.168.2.100

3.1 创建存储服务配置文件

FastDFS 提供了配置文件模板,可以根据模板创建需要使用的配置文件。

cd /etc/fdfs cp storage.conf.sample storage.conf 

3.2修改配置文件

storage.conf 配置文件用于描述存储服务的行为,需要进行下述修改:

vi /etc/fdfs/storage.conf base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/storage/base (自定义目录) 
store_path0=/home/yuqing/fastdfs -> store_path0=/fastdfs/storage/store(自定义目录) 
tracker_server=192.168.2.109:22122 -> tracker_server=tracker #服务 IP:22122 base_path - 基础路径。

用于保存 storage server 基础数据内容和日志内容的目录。 store_path0 - 存储路径。是用于保存 FastDFS 中存储文件的目录,就是要创建 256*256 个子目录的位置。 base_path 和 store_path0 可以使用同一个目录。 tracker_server - 跟踪服务器位置。就是跟踪服务器的 ip 和端口。 3.3创建自定义目录 mkdir -p /fastdfs/storage/base mkdir -p /fastdfs/storage/store

3.4修改服务脚本

vi /etc/init.d/fdfs_storaged 将 PRG=/usr/bin/fdfs_storaged 修改为 PRG=/usr/local/bin/fdfs_storaged

3.5 启动服务(要求 tracker 服务必须已启动)

/etc/init.d/fdfs_storaged start 

启动成功后,配置文件中 base_path 指向的目录中出现 FastDFS 服务相关数据目录(data 目录、logs 目录),配置文件中的 store_path0 指向的目录中同样出现 FastDFS 存储相关数 据录(data 目录)。其中$store_path0/data/目录中默认创建若干子孙目录(两级目录层级总计 256256 个目录),是用于存储具体文件数据的。 Storage 服务器启动比较慢,因为第一次启动的时候,需要创建 256256 个目录。

3.6 查看服务状态

/etc/init.d/fdfs_storaged status ps aux | grep fdfs 

3.7 停止服务

/etc/init.d/fdfs_storaged stop 

3.8 重启服务

/etc/init.d/fdfs_storaged restart 

3.9设置开机自启

vi /etc/rc.d/rc.local 

新增内容 - /etc/init.d/fdfs_storaged start
因启动前提为 tracker 服务必须已启动,不推荐开启自启。