二进制文件(图片以及视频)通过储存服务器自身内存,以数据库地址方式查询,这样大大需要服务器具有高性能的cpu以及大量的内存,造成成本过高.FastDFS的出现用于储存较大的视频和图片文件,其不需要较高的cpu运算性能,服务器有较大的内存即可,所以成本较低
FastDFS分为tracker,storage,client三部分,tracker是储存storage元信息和操作信息的.storage是真正的数据储存地
FastDFS集群分为组(或卷),每组都会存在一或多台服务器,组(卷)内的数据是同步的,当一台服务器出现问题时,马上寻找完好的服务器,将卷内未损坏的服务器的数据同步至新入卷的服务器,这样大大提高了数据的安全性
一.安装FastDFS
1.安装FastDFS所需环境libfastcommon
首先下载libfastcommon-master.zip安装包
把安装包传输到Ubuntu系统中
解压
进入文件源目录,编译安装
cd /usr/local/src/libfastcommon-master/
./make.sh
./make.sh install
安装好的文件会凌乱分布,所以为了方便笔者建议建立软连接,便于管理
ln -sv /usr/inclued/fastcommon /usr/local/include/fastcommon
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
ln -sv /usr/lib/libfastclient.so /usr/local/lib/libfastclient.so
ln -sv /usr/lib/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -sv /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -sv /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
2.安装FastDFS
下载FastFS安装包
解压编译安装
./make.sh
./make.sh install
确认是否安装成功,查看/etc/fdfs目录下是否存在client.conf.sample等三个文件
复制模板信息并配置文件
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
建立储存信息目录
mkdir -p /usr/data/fdfs/tracker
mkdir -p /usr/data/fdfs/storage
mkdir -p /usr/data/fdfs/client
启动tracker和storage服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
出现活跃即表示启动成功可用
3.FastDFS文件操作测试
上传文件测试
首先找到一张图片
上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /srv/ftp/test.png
成功后会收到提示,如下信息即为图片地址,但是此时还无法从网站直接访问,因为没有配置web服务器
我们可以根据文件URL地址判断其储存地址
group1/M00/00/00/wKhKjlzyNjCAKnupAANIXOaB28w101_big.png
下载测试
/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKhKjlzyNjCAKnupAANIXOaB28w101_big.png
这时候我们到指定目录,即可查看到此文件
删除测试
/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKhKjlzyNjCAKnupAANIXOaB28w101_big.png