准备两个 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
以上为通用安装,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 服务必须已启动,不推荐开启自启。