(1)FastDFS是什么
FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
(2)FastDFS结构
FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些策略找到 Storage server 提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。
Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上,Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将storage称为存储服务器。
二,搭建FastDFS文件服务器1,首先需要安装需要的依赖
yum -y install gcc-c++ yum -y install libevent2,然后使用xftp把需要的压缩包上传到Linux服务器,在/usr/local文件夹中新建一个fastdfs文件夹。
3,解压libfastcommon
tar -xvf libfastcommonV1.0.7.tar.gz4,然后进行安装
[root@localhost fastdfs]# ls fastdfs-nginx-module_v1.16.tar.gz FastDFS_v5.05.tar.gz libfastcommon-1.0.7 libfastcommonV1.0.7.tar.gz nginx-1.8.1.tar.gz [root@localhost fastdfs]# cd libfastcommon-1.0.7 [root@localhost libfastcommon-1.0.7]# ls HISTORY INSTALL libfastcommon.spec make.sh README src [root@localhost libfastcommon-1.0.7]# ./make.sh [root@localhost libfastcommon-1.0.7]# ./make.sh installlibfastcommon安装好之后会自动将库文件拷贝至usr/lib64下,由于FastDFS程序引用/usr/lib目录,所以需要把/usr/lib64下的库文件拷贝至/usr/lib下。
拷贝命令
cd /usr/lib64 cp libfastcommon.so /usr/lib查看/usr/lib目录下是否存在该文件
[root@localhost lib64]# find /usr/lib -name libfastcommon.so /usr/lib/libfastcommon.so5,开始安装FastDFS
进到/usr/local/fastdfs目录中进行解压
tar -xvf FastDFS_v5.05.tar.gz安装
[root@localhost fastdfs]# ls FastDFS fastdfs-nginx-module_v1.16.tar.gz FastDFS_v5.05.tar.gz libfastcommon-1.0.7 libfastcommonV1.0.7.tar.gz nginx-1.8.1.tar.gz [root@localhost fastdfs]# cd FastDFS [root@localhost FastDFS]# ls client common conf COPYING-3_0.txt fastdfs.spec HISTORY init.d INSTALL make.sh php_client README.md restart.sh stop.sh storage test tracker [root@localhost FastDFS]# ./make.sh [root@localhost FastDFS]# ./make.sh install安装成功后将安装目录下的conf下的文件拷贝到/etc/fdfs下。(nginx需要)
conf文件目录在/usr/local/fastdfs/FastDFS/conf,进到这个conf目录
cp * /etc/fdfs/ 拷贝全部文件到fdfs目录下6,安装tracker服务(跟踪服务)
[root@localhost conf]# cd /usr/local/fastdfs/FastDFS/tracker/ [root@localhost tracker]# pwd /usr/local/fastdfs/FastDFS/tracker 这个路径设置为base_path路径(下图) # 编辑tracker.conf配置文件 [root@localhost tracker]# vim /etc/fdfs/tracker.conf修改base_path路径为
保存退出,然后启动
# 启动 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf # 重启的话是restart /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart7,安装storage服务(存储服务)
[root@localhost storage]# pwd /usr/local/fastdfs/FastDFS/storage 这个路径设置为base_path路径(下图) [root@localhost storage]# vim /etc/fdfs/storage.conf修改base_path路径
启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf8,到此为止,两个服务都安装完成了,现在测试是否安装成功。
将/usr/local/fastdfs/FastDFS/client里面的libfdfsclient.so拷贝到/usr/lib下,这一步非常重要。
cd /usr/local/fastdfs/FastDFS/client/ cp libfdfsclient.so /usr/lib修改配置文件