FastDFS社区:http://bbs.chinaunix.net/forum-240-1.htmlhtml
配置参考:http://bbs.chinaunix.net/thread-1941456-1-1.htmlgit
参考PDF连接:http://pan.baidu.com/s/1c2iEudy 密码: vfsmgithub
做者发布在社区的FastDFS PPT文档服务器
因为开源社区下载PPT比较麻烦,本身转存到百度网盘一份app
连接: http://pan.baidu.com/s/1i56QCZz 密码: gjra负载均衡
1、FastDFS安装,本文是安装的当前最新版本FastDFS5.08测试
参考文章:http://www.cnblogs.com/hesiyi/archive/2016/05/30/5543717.html.net
一、安装libfastcommon,该步骤须要git,也能够经过https://codeload.github.com/happyfish100/libfastcommon/zip/master,这里我是使用的gitunix
git clone https://github.com/happyfish100/libfastcommon.git日志
cd libfastcommon/
./make.sh
./make.sh install
执行如上命令后,libfastcommon默认安装在/usr/lib64/文件夹内
可经过以下命令查看
二、下载FastDFS并解压
tar -zxvf FastDFS_v5.08.tar.gz
三、 进入解压目录 ,编译安装
cd FastDFS/
./make.sh
./make.sh install
安装过程会产生一些文件:具体看下图
四、修改基本配置使fastdfs能够运行
(4.1)进入fastdfs生成在/etc/fdfs/目录下
cd /etc/fdfs/
经过ls能够看到有以下三个文件
去掉他们全部的.sample后缀,保留原始配置文件,方便测试
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
修改配置文件信息
(1)tracker.conf不用修改任何东西
(2)storage.conf中修改:
tracker_server=192.168.29.132:22122 #指定tracker服务器地址(是你Ubuntu的ip地址)
(3)client.conf中一样要修改:
tracker_server=192.168.29.132:22122 #指定tracker服务器地址(是你Ubuntu的ip地址)
五、启动tracker和storage
(1)、建立运行时目录结构(存储路径)文件夹(名字有点别扭,是参考做者的PPT),因为没有修改任何配置,下载下来的FastDFS默认路径指向这个文件夹,能够修改/etc/fdfs/下的配置文件,该目录下的3个文件都须要修改
在22行能够看见存在base_path信息,这里我没有作修改,直接使用默认配置
建立base_path文件夹
mkdir -p /home/yuqing/fastdfs/
关于启动顺序,本文通过我测试,发现不须要按照(2)、(3)、的顺序启动,由于若是事先启动storage,它会每间隔15秒尝试链接tracker(直至链接成功为止),这里的15秒我想应该是能够配置吧,具体尚未研究,经过以下命令能够查看日志
tail -f /home/yuqing/fastdfs/logs/storaged.log
(2)、 启动:Tracker Server:跟踪服务器,主要作调度工做,在访问上起负载均衡的做用。记录storage server的状态,是链接Client和Storage server的枢纽。
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
(3)、启动: Storage Server:存储服务器,文件和meta data都保存到存储服务器上
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
经过netstat -tunpl,能够看到下图,说明fastdfs已经启动了
(4)、 中止:Tracker Server:跟踪服务器
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
(5)、 中止: Storage Server:存储服务器
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
六、补充,关于FastDFS安装目录结构
/etc/fdfs/:存放配置文件位置
/etc/init.d/:服务脚本文件位置
/usr/bin/:可执行命令文件位置
七、上传
准备文件:/test/hello.txt,同时到 /home/yuqing/fastdfs/data/00/00 目录下查看是否有文件,发现目前为空目录
执行上传
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /test/hello.txt
到/home/yuqing/fastdfs/data/00/00目录下查看文件,发现有一个wKgBZldajPmARf1oAAAAELNLRzU978.txt,至此上传结束。
上传成功,在上图能够看到返回结果,规则:group 名称、虚拟磁盘路径、数据两级
目录、file_id。
其中,组名:文件上传后所在的存储组的名称,在文件上传成功后由存储服务器返回,须要客户端自行保存
虚拟磁盘路径:存储服务器配置的虚拟路径,与磁盘选项 store_path*参数对应(storage.conf配置文件中的store_path0=/home/yuqing/fastdfs)
数据两级目录:存储服务器在每一个虚拟磁盘路径下建立的两级目录,用于存储数据文件
八、下载测试
/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgBZldajPmARf1oAAAAELNLRzU978.txt hello_download.txt