FastDFS--简易配置(一)_第1张图片

FastDFS--简易配置(一)_第2张图片

开源的,高性能的分布式文件系统

FastDFS--简易配置(一)_第3张图片

今天我们采用三台机器来做实验,如图,一台nginx用来作为负载均衡(反向代理),一台tracker用来进行工作任务的调度等工作,说白了就是分派给哪台后端的storage来存储数据。

FastDFS--简易配置(一)_第4张图片

FastDFS--简易配置(一)_第5张图片

实验环境就没做这么多安全设置

FastDFS--简易配置(一)_第6张图片

材料均来自这些软件的官网

首先,我们来安装nginx这个负载均衡服务器

FastDFS--简易配置(一)_第7张图片

安装超级简单,我们不需要过多的功能,故configure的时候默认设置

FastDFS--简易配置(一)_第8张图片

这个也很简单,加载另外一个路径上的文件

FastDFS--简易配置(一)_第9张图片

163.63为后端服务器的地址,稍后会配置这台服务器的web服务。

location /M00代表在url中遇到M00的时候进行负载均衡(反向代理)。这里就不多解释,自行学习nginx。

这里nginx负载均衡(反向代理)就完成了。

接着我们来进行tracker服务器的安装。首先要安装tracker需要的lib文件,否则安装tracker的时候会报缺少lib的错误。

FastDFS--简易配置(一)_第10张图片

安装tracker的lib库

FastDFS--简易配置(一)_第11张图片

FastDFS--简易配置(一)_第12张图片

只需要修改配置文件中base_path和store_group

base_path:日志存放的路径

store_group:存储的组名

FastDFS--简易配置(一)_第13张图片

修改客户端的配置文件

FastDFS--简易配置(一)_第14张图片

启动tarcker服务(需要先启动,不然storage连不上)

目前为止,tracker也搞好了,so easy吧。咱们继续配置group1中的第一台storage

FastDFS--简易配置(一)_第15张图片

同理,也需要先安装tracker所需的lib库

FastDFS--简易配置(一)_第16张图片

安装过程也是和tracker一模一样

FastDFS--简易配置(一)_第17张图片

所使用的配置文件不一样

关键在于store_path0,文件存放的路径在哪里。如果有多个路径就加store_path1、store_path2。。。。这样子。同时还得修改store_path_count,与你的存储路径数需要一致。

FastDFS--简易配置(一)_第18张图片

启动后可以看到23000端口,并且查看到storage的状态为活动

FastDFS--简易配置(一)_第19张图片

FastDFS--简易配置(一)_第20张图片

在tracker服务器上执行文件上传

记录好上传后的信息group1/M00/00/00/wKijP1wZ8DmARX93AAC7qq_Tjik856.jpg

上传显示成功了,可是我怎么能访问得到这个图片呢?

使用nginx来做web服务。

FastDFS--简易配置(一)_第21张图片

这里的nginx加载了fastdfs模块,使nginx支持fastdfs

FastDFS--简易配置(一)_第22张图片

FastDFS--简易配置(一)_第23张图片

FastDFS--简易配置(一)_第24张图片

这里还有个特别的地方就是,url_have_group_name,也就是在url中是否加载组名,如果true则我们的负载均衡(61)和storage(63)中的nginx的location段需要正则表达式到/group1/M00。这里我们没改,使用默认的false,故你可以看到为啥之前的负载均衡(61)设置的是/M00了。

虽然这里其实已经配置完成了,可是启动nginx后发现报错了。

FastDFS--简易配置(一)_第25张图片

include file "http.conf" not exists

找到了http.conf文件并拷贝至/etc/fdfs里

nginx reload后还是报错了

FastDFS--简易配置(一)_第26张图片

file /etc/fdfs/mime.types

同理,我们也拷贝到/etc/fdfs里

重新reload一下nginx

试试直接访问163.63吧

FastDFS--简易配置(一)_第27张图片

成功访问

我们从负载均衡上面访问一下试试

FastDFS--简易配置(一)_第28张图片

同样访问成功


后续笔者还会继续进行扩展,例如为group1添加新成员,新增group2,新增tracker,删除group中的成员等等扩展。

请各位继续关注。