1、安装必须使用make、cmake和gcc编译器
FastDFS是C语言开发的应用,你的centos不一定有,先安装之
yum install -y make cmake gcc gcc-c++
2、安装FastDFS核心库,libfastcommon
libfastcommon是从FastDFS 和FastDHT 中提取出来的公共C函数库
2.1、下载
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.36.tar.gz
2.2、解压
tar -zxvf V1.0.36.tar.gz
2.3、编译安装
./make.sh ./make.sh install
2.4、建立软链接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3、安装FastDFS
3.1、下载FastDFS
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
3.2、解压
tar -zxvf V5.11.tar.gz
3.3、编译、安装
首先进入解压目录cd fastdfs-5.11/
./make.sh
./make.sh install
4、开始各种配置吧,么么哒
4.1、首先,先看一下需要配置的文件及目录
配置文件在/etc/fdfs/
目录中
tracker.conf.sample - 跟踪器服务配置文件模板
storage.conf.sample - 存储服务器配置文件模板
client.conf.sample - FastDFS提供的命令行客户端配置文件模板。可以通过命令行测试FastDFS有效性。
4.2、Tracker 服务
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
打开 tracker.conf
修改 base_path 路径,base_path FastDFSTracker启动后使用的根目录,用来存放Tracker data和logs。
base_path=/home/yuqing/fastdfs -> base_path=/var/data/fastdfs-tracker(自定义目录)
配置中的路径需要先创建好才能启动服务,mkdir -p /var/data/fastdfs-tracker
启动Tracker,/etc/init.d/fdfs_trackerd start
启动成功后,配置文件中base_path指向的目录中出现FastDFS服务相关数据目录(data目录、logs目录)
查看服务状态,ps -ef | grep fdfs
停止服务,/etc/init.d/fdfs_trackerd stop
重启服务,/etc/init.d/fdfs_trackerd restart
4.3、 启动 Storage
配置文件
cd /etc/fdfs
cp storage.conf.sample storage.conf
mkdir -p /var/data/fastdfs-storage/base
mkdir -p /var/data/fastdfs-storage/store
base_path=/home/yuqing/fastdfs -> base_path=/var/data/fastdfs-storage/base(自定义目录)
store_path0=/home/yuqing/fastdfs -> store_path0=/var/data/fastdfs-storage/store(自定义目录)
tracker_server=tracker服务IP:22122
启动,要求tracker服务必须已启动
/etc/init.d/fdfs_storaged start
启动成功后,配置文件中base_path指向的目录中出现FastDFS服务相关数据目录(data目录、logs目录)
配置文件中的store_path0指向的目录中同样出现FastDFS存储相关数据录(data目录)
其中$store_path0/data/目录中默认创建若干子孙目录(两级目录层级总计256*256个目录),是用于存储具体文件数据的。
Storage服务器启动比较慢,因为第一次启动的时候,需要创建256*256个目录。
查看服务状态
/etc/init.d/fdfs_storaged status
停止服务
/etc/init.d/fdfs_storaged stop
重启服务
/etc/init.d/fdfs_storaged restart
修改配置文件
cd /etc/fdfs
cp client.conf.sample client.conf
client.conf配置文件中主要描述客户端的行为,需要进行下述修改:
vi /etc/fdfs/client.conf
base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/client (自定义目录)
tracker_server=tracker服务IP:22122
base_path - 就是客户端命令行执行过程时临时数据存储位置。
创建自定义目录
mkdir -p /fastdfs/client
上传文件
/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /要上传的文件
[root@node03 data]# /usr/bin/fdfs_upload_file /etc/fdfs/index.conf /root/index.php
group1/M00/00/00/rBCstl7aBE6AAU47AAAAFqPLeeM310.php
上传结束后,返回group1/M00/00/00/xxxxxxxxxx.xxx,检查storage服务结点中的$store_path0/data/00/00/目录中是否有上传的文件(一般情况上传的文件按顺序保存在$store_path0/data/00/00/目录中,不能完全保证)。
上传文件结果:group1/M00/00/00/rBCstl7aBE6AAU47AAAAFqPLeeM310.php
删除文件
/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/rBCstl7aBE6AAU47AAAAFqPLeeM310.php