本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上搜索到的 Google Code 的 V4.06 或更低版本不一样,而且按照他们的步骤坑很多,我反正被坑了很久。
你只需要记住,这也许是目前 FastDFS 最新最稳定最简单坑最少的一个配置安装部署教程了。期间我也会把我踩的坑都放出来,我保证大家照着做就几乎不会有坑。哈哈...
一、安装 libfastcommon 和 FastDFS
1.下载安装 libfastcommon ,这里是通过wget
下载(我喜欢这种方式)。
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
解压 libfastcommon,命令:
tar -zxvf V1.0.7.tar.gz
编译,进入libfastcommon-1.0.7
目录,命令:
cd libfastcommon-1.0.7
./make.sh
安装,命令:
./make.sh install
显示这样的画面,就是安装 libfastcommon 成功啦。
2.下载安装 FastDFS,这里也是通过wget
下载。
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
解压 FastDFS ,命令:
tar -zxvf V5.05.tar.gz
编译,进入fastfds-5.05
目录,命令:
cd fastdfs-5.05
./make.sh
安装,命令:
./make.sh install
显示这样的画面,就是安装 FastDFS 成功啦。
二、配置 Tracker 服务
上述安装成功后,在/etc/
目录下会有一个fdfs
的目录,进入它。会看到三个.sample
后缀的文件,这是作者给我们的示例文件,我们需要把其中的tracker.conf.sample
文件改为tracker.conf
配置文件并修改它。看命令:
cp tracker.conf.sample tracker.conf
vim tracker.conf
打开tracker.conf
文件,只需要找到你只需要该这两个参数就可以了。
# the base path to store data and log files
base_path=/data/fastdfs
# HTTP port on this tracker server
http.server_port=80
当然前提是你要有或先创建了/data/fastdfs
目录。port=22122
这个端口参数不建议修改,除非你已经占用它了。
修改完成保存并退出 vim ,这时候我们可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
来启动 Tracker服务,但是这个命令不够优雅,怎么做呢?使用ln -s
建立软链接:
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
这时候我们就可以使用service fdfs_trackerd start
来优雅地启动 Tracker服务了,是不是比刚才带目录的命令好记太多了(懒是社会生产力)。你也可以启动过服务看一下端口是否在监听,命令:
启动服务:service fdfs_trackerd start
查看监听:netstat -unltp|grep fdfs
看到22122端口
正常被监听后,这时候就算 Tracker服务安装成功啦!
三、配置 Storage 服务
现在开始配置 Storage 服务,由于我这是单机器测试,你把 Storage 服务放在多台服务器也是可以的,它有 Group(组)
的概念,同一组内服务器互备同步,这里不再演示。直接开始配置,依然是进入/etc/fdfs
的目录操作,首先进入它。会看到三个.sample
后缀的文件,我们需要把其中的storage.conf.sample
文件改为storage.conf
配置文件并修改它。还看命令:
cp storage.conf.sample storage.conf
vim storage.conf
打开storage.conf
文件后,找到这两个参数进行修改:
# the base path to store data and log files
base_path=/data/fastdfs/storage
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/data/fastdfs/storage
#store_path1=/home/yuqing/fastdfs2
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=192.168.198.129:22122
当然你的/data/fastdfs
目录下要有storage
文件夹,没有就创建一个,不然会报错的,日志以及文件都会在这个下面,启动时候会自动生成许多文件夹。stroage的port=23000
这个端口参数也不建议修改,默认就好,除非你已经占用它了。
修改完成保存并退出 vim ,这时候我们依然想优雅地启动 Storage服务,带目录的命令不够优雅,这里还是使用ln -s
建立软链接:
ln -s /usr/bin/fdfs_storaged /usr/local/bin
执行命令启动服务:
service fdfs_storaged start
图片中出现了一个大大的error
啦!!!要仔细看,错误提示是找不到文件夹,这就好办了嘛。创建一个文件夹再次启动看看。
这次启动成功,没有错误了。查看一下监听:
netstat -unltp|grep fdfs
很好,22122 和 23000
端口都在监听了,这个时候你去/data/fastdfs/storage
文件夹下看的话,会出现一大堆文件夹,而且进去还有一大堆,哈哈,这就是存放文件的啦!下一篇会讲它们的作用和怎么存储的。
四、这就完成了?
应该是完成了。我们安装配置并启动了 Tracker 和 Storage 服务,也没有报错了。那他俩是不是在通信呢?我们可以监视一下:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
看到我红线处ACTIVE
这样就 ok 啦!
其实这个时候你就可以进行上传测试了,但可能会下载不了,所以,我们把成功的喜悦留在下一篇吧。
总结一下
这篇文章只是进行了 FastDFS 的安装与配置,没有任何难度可言,只要按照步骤一步步走下去就可以搞定。可能中间过程中我们会由于不细心经历各种错误,只要仔细看日志信息都能解决掉的,你解决掉一个个错误的时候难道没有披荆斩棘战士般的感觉么?反正我没遇到错...
由于余老师在 V4.05 以后的版本就把内置 HTTP服务去掉了,推荐大家结合 Nginx 使用 fastdfs-nginx-module 模块,所以,就算这篇你测试上传成功了,你也访问不了,哈哈哈... 下一篇分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试 中会进行配合 Nginx 完成全部FastDFS的安装测试上传下载等等全部工作。等着吧...