看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上搜索到的 Google Code 的 V4.06 或更低版本不一样,而且按照他们的步骤坑很多,我反正被坑了很久。
你只需要记住,这也许是目前 FastDFS 最新最稳定最简单坑最少的一个配置安装部署教程了。期间我也会把我踩的坑都放出来,我保证大家照着做就几乎不会有坑。哈哈...
一、安装 libfastcommon 和 FastDFS
1.下载安装 libfastcommon
作者的GitHub地址:https://github.com/happyfish100
这次搭建的所有工具,都可以在上面下载到。我搭建的是目前最新版本Version 5.11 2017-05-26。作者还有一个5.10的发行版本,你如果没有下载最近的,到时候整合nginx的时候可能会遇到:
local/fastdfs-nginx-module/src/common.c:1245: 错误:‘FDFSHTTPParams’没有名为‘support_multi_range’的成员
make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] 错误 1
make[1]: Leaving directory `/usr/local/nginx-1.10.1'
- 1
- 2
- 3
遇到这个错误的原因是,在fastdfs-nginx-module的HISTORY中你可以到:
整合的时候,fastdfs-nginx-module中的support_multi_range在Version 5.10中找不到。
Version 5.11对应的fastdfs-nginx-module的Version 1.20
Version 5.10对应的fastdfs-nginx-module的Version 1.19
之所以在安装前写了这么一段话,是因为这个很重要,版本不对应会给接下来的安装带来各种问题。
4.1 下载工具:
把源码下载下来4个zip包,再去下个nginx:
4.2 上传到CentOS
上传文件到liunx系统的方法很多。我个人比较喜欢用vsftp上传。
感兴趣的同学可以参考我一另一篇博文:
在windows上直接输入ftp地址,把刚刚下载好的文件拖到ftp上即可。
解压 libfastcommon:
编译,进入libfastcommon-1.0.7
目录,命令:
cd libfastcommon-1.0.7
./make.sh
安装,命令:
./make.sh install
显示这样的画面,就是安装 libfastcommon 成功啦。
2.下载安装 FastDFS
解压 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 啦!
其实这个时候你就可以进行上传测试了,但可能会下载不了,所以,我们把成功的喜悦留在下一篇吧。