server)、存储服务器(storage,法斯特DFS的多少个为主概念分别是

分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)——第一篇 

  • ### 简介

先是简单精通一下基础概念,法斯特DFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker
server)、存储服务器(storage
server)和客户端(client)多个部分构成,主要解决了海量数据存储难题,更加符合以中等文件(指出范围:4KB
< file_size <500MB)为载体的在线服务。法斯特DFS的系统结构图如下:

图片 1

如上图,法斯特DFS的多个主导概念分别是:

  1. Tracker(跟踪器)
  2. Storage(存储节点)

Tracker首要做调度工作,约等于mvc中的controller的角色,在拜访上起负载均衡的功用。跟踪器和储存节点都能够由一台或多台服务器构成,跟踪器和储存节点中的服务器均能够随时增加或下线而不会潜移默化线上服务,其中跟踪器中的所有服务器都是对等的,能够依据服务器的压力情况随时增加或回落。Tracker负责管理所有的Storage和group,每个storage在启动后会连接Tracker,告知自己所属的group等音信,并保持周期性的心跳,tracker按照storage的心跳音信,建立group==>[storage
server
list]的映射表,Tracker须求管住的元音讯很少,会整整囤积在内存中;此外tracker上的元新闻都是由storage汇报的信息变更的,本身不须要持久化任何数据,那样使得tracker卓殊简单扩展,间接伸张tracker机器即可扩充为tracker
cluster来服务,cluster里每个tracker之间是一点一滴对等的,所有的tracker都承受stroage的心跳音信,生成元数据音信来提供读写服务。

Storage选取了分卷[Volume](或分组[group])的团队格局,存储系统由一个或四个组结合,组与组之间的文件是并行独立的,所有组的文书容量增加就是成套存储系统中的文件容量。一个卷[Volume](组[group])可以由一台或多台存储服务器组成,一个组中的存储服务器中的文件都是一律的,组中的多台存储服务器起到了冗余备份和负载均衡的机能,数据交互备份,存储空间以group内容量最小的storage为准,所以提议group内的多少个storage尽量配置相同,避防造成存储空间的浪费。越来越多原理性的内容可以参见那篇blog,介绍的很详细:分布式文件系统法斯特DFS设计原理
接下去就具体看一下法斯特DFS的万事下载安装进度~

 

分布式文件系统 法斯特DFS 5.0.5 & Linux CentOS 7 安装配备(单点安装)——第一篇 

  • ### 简介

首先简单询问一下基础概念,法斯特DFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker
server)、存储服务器(storage
server)和客户端(client)多少个部分构成,首要解决了海量数据存储难题,更加适合以中等文件(提出范围:4KB
< file_size <500MB)为载体的在线服务。法斯特DFS的系统结构图如下:

图片 2

如上图,法斯特DFS的五个焦点概念分别是:

  1. Tracker(跟踪器)
  2. Storage(存储节点)

Tracker主要做调度工作,相当于mvc中的controller的角色,在拜访上起负载均衡的成效。跟踪器和存储节点都足以由一台或多台服务器构成,跟踪器和存储节点中的服务器均可以每一天增添或下线而不会影响线上劳动,其中跟踪器中的所有服务器都是对等的,可以按照服务器的下压力处境随时扩张或收缩。Tracker负责管理所有的Storage和group,每个storage在起步后会连接Tracker,告知自己所属的group等新闻,并保持周期性的心跳,tracker根据storage的心跳新闻,建立group==>[storage
server
list]的映射表,Tracker须求管理的元音信很少,会整整囤积在内存中;此外tracker上的元音讯都是由storage汇报的音讯变化的,本身不需求持久化任何数据,那样使得tracker万分简单扩大,直接扩大tracker机器即可扩张为tracker
cluster来服务,cluster里每个tracker之间是一点一滴对等的,所有的tracker都领受stroage的心跳新闻,生成元数据音讯来提供读写服务。

Storage选取了分卷[Volume](或分组[group])的团体措施,存储系统由一个或多少个组构成,组与组之间的公文是并行独立的,所有组的文件容量拉长就是所有存储系统中的文件容量。一个卷[Volume](组[group])可以由一台或多台存储服务器组成,一个组中的积存服务器中的文件都是一律的,组中的多台存储服务器起到了冗余备份和负载均衡的机能,数据交互备份,存储空间以group内容量最小的storage为准,所以提议group内的多个storage尽量配置相同,以防造成存储空间的荒废。越多原理性的情节可以参照那篇blog,介绍的很详细:分布式文件系统法斯特DFS设计原理
接下去就现实看一下法斯特DFS的总体下载安装进度~

 

前言

项目中用到文件服务器,有对象推荐用法斯特DFS,所以就精通学习了一番,感觉确实颇为强大,在此再次谢谢天猫商城资深架构师余庆大神开源了那般美好的轻量级分布式文件系统,本篇文章就记录一下法斯特DFS的新颖版本5.0.5在CentOS7中的安装与布署。

 

 

简介

首先不难明白一下基础概念,法斯特DFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker
server)、存储服务器(storage
server)和客户端(client)多个部分组成,主要解决了海量数据存储难点,越发契合以中等文件(提出范围:4KB
< file_size <500MB)为载体的在线服务。法斯特DFS的系统结构图如下:

图片 3

如上图,法斯特DFS的八个主导概念分别是:

  1. Tracker(跟踪器)
  2. Storage(存储节点)

Tracker主要做调度工作,相当于mvc中的controller的角色,在做客上起负载均衡的功效。跟踪器和存储节点都足以由一台或多台服务器构成,跟踪器和存储节点中的服务器均可以每日伸张或下线而不会影响线上服务,其中跟踪器中的所有服务器都是对等的,可以按照服务器的下压力景况随时扩展或收缩。Tracker负责管理所有的Storage和group,每个storage在起步后会连接Tracker,告知自己所属的group等消息,并保持周期性的心跳,tracker依据storage的心跳音讯,建立group==>[storage
server
list]的映射表,Tracker要求管住的元音信很少,会全部仓储在内存中;别的tracker上的元消息都是由storage汇报的音信变更的,本身不须求持久化任何数据,这样使得tracker万分不难增加,直接增添tracker机器即可伸张为tracker
cluster来服务,cluster里每个tracker之间是一点一滴对等的,所有的tracker都承受stroage的心跳音讯,生成元数据消息来提供读写服务。

Storage选用了分卷[Volume](或分组[group])的团伙形式,存储系统由一个或三个组结合,组与组之间的文书是互为独立的,所有组的文本容量增加就是全体存储系统中的文件容量。一个卷[Volume](组[group])可以由一台或多台储存服务器组成,一个组中的储存服务器中的文件都是同等的,组中的多台存储服务器起到了冗余备份和负载均衡的效益,数据交互备份,存储空间以group内容量最小的storage为准,所以提议group内的多少个storage尽量配置相同,避防造成存储空间的荒废。越多原理性的情节可以参照那篇小说,介绍的很详细:分布式文件系统法斯特DFS设计原理
接下去就现实看一下法斯特DFS的方方面面下载安装过程~

下载

现阶段作者最后五回releases的小运的14年4月22号,对应的前卫版本是5.0.5,直接在余大的GitHub上下载就足以了:
https://github.com/happyfish100/fastdfs/releases

 

下载

脚下小编最后三次releases的时日的14年6月22号,对应的新式版本是5.0.5,直接在余大的GitHub上下载就可以了:
https://github.com/happyfish100/fastdfs/releases

 

下载

当下小编最终一回releases的小时的14年8月22号,对应的风靡版本是5.0.5,直接在余大的GitHub上下载就足以了:
https://github.com/happyfish100/fastdfs/releases

图片 4

如上图,由于法斯特DFS是纯C语言已毕,只支持Linux、FreeBSD等UNIX系统,所以大家直接下载tar.gz的压缩包,同时法斯特DFS
5.0.5同以前版本对照将公共的片段函数等单独封装成了libfastcommon包,所以在设置法斯特DFS此前大家还必须安装libfastcommon,在余大的GitHub首页可以见到:
图片 5

下载落成后将上边那多个文件上传至CentOS服务器,然后就足以起来解压安装了:
图片 6

安装

安装

安装

libfastcommon

率先第一步是安装libfastcommon,我这里将libfastcommon上传到的/usr/local目录下,直接解压:

unzip libfastcommon-master.zip

解压成功后进入目录看一下压缩包的公文:
图片 7

假使没有装解压工具unzip可以透过以下yum命令进行设置后再解压:

yum -y install unzip zip

解压达成后就可以展开编译安装了,分别施行./make.sh./make.sh install,由于是新安装的系统有可能会提示找不到gcc命令:
图片 8

如上图,所以我们先要安装gcc编译器:

yum -y install gcc-c++

观察如下音信验证gcc已经安装成功:
图片 9

那会儿再度实施./make.sh指令举行编译,没有error音信的话就认证编译成功了,最终再履行./make.sh install开展安装,看到类似如下提醒音信就表达libfastcommon已安装成功(画风突变,黑底白字看的眼眸累T_T,所以换成白底黑字了):
图片 10

至此libfastcommon就已经设置成功了,但注意一下上图中褐色框标注的情节,libfastcommon.so
默认安装到了/usr/lib64/libfastcommon.so,不过FastDFS主程序设置的lib目录是/usr/local/lib,所以那边要求重新设置软链接(类似于Windows的急迅格局):

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

设置落成后就足以初叶安装fastdfs了。

libfastcommon

首先第一步是安装libfastcommon,我那边将libfastcommon上传到的/usr/local目录下,直接解压:

unzip libfastcommon-master.zip

解压成功后进入目录看一下压缩包的文书:
图片 11

设若没有装解压工具unzip可以通过以下yum命令举办设置后再解压:

yum -y install unzip zip

解压达成后就足以拓展编译安装了,分别实施./make.sh./make.sh install,由于是新安装的系统有可能会提醒找不到gcc命令:
图片 12

如上图,所以我们先要安装gcc编译器:

yum -y install gcc-c++

来看如下音讯表明gcc已经安装成功:
图片 13

那会儿重新实施./make.sh一声令下举办编译,没有error音信的话就印证编译成功了,最终再实施./make.sh install进行设置,看到类似如下提醒信息就证实libfastcommon已安装成功(画风突变,黑底白字看的双眼累T_T,所以换成白底黑字了):
图片 14

至此libfastcommon就已经设置成功了,但注意一下上图中青色框标注的情节,libfastcommon.so
默许安装到了/usr/lib64/libfastcommon.so,可是法斯特DFS主程序设置的lib目录是/usr/local/lib,所以那边须求重新设置软链接(类似于Windows的疾速方式):

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

设置完成后就可以开头安装fastdfs了。

libfastcommon

率先第一步是安装libfastcommon,我那边将libfastcommon上传到的/usr/local目录下,直接解压:

unzip libfastcommon-master.zip

解压成功后跻身目录看一下压缩包的文书:
图片 15

若是没有装解压工具unzip可以通过以下yum命令举办设置后再解压:

yum -y install unzip zip

解压已毕后就可以进行编译安装了,分别实施./make.sh./make.sh install,由于是新装置的种类有可能会提示找不到gcc命令:
图片 16

如上图,所以大家先要安装gcc编译器:

yum -y install gcc-c++

看看如下新闻认证gcc已经安装成功:
图片 17

那时重新实施./make.sh一声令下举办编译,没有error音讯的话就证实编译成功了,最终再实施./make.sh install拓展设置,看到类似如下提醒音讯就表明libfastcommon已安装成功(画风突变,黑底白字看的眸子累T_T,所以换成白底黑字了):
图片 18

至此libfastcommon就已经设置成功了,但注意一下上图中青色框标注的始末,libfastcommon.so
默许安装到了/usr/lib64/libfastcommon.so,可是法斯特DFS主程序设置的lib目录是/usr/local/lib,所以这边须求重新设置软链接(类似于Windows的快速形式):

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

设置已毕后就足以起先安装fastdfs了。

FastDFS

首先步仍旧是解压:

tar -zxvf fastdfs-5.05.tar.gz 

解压完结后进入目录fastdfs-5.05,依次执行./make.sh和./make.sh install:

./make.sh
./make.sh install

从没报错就表明安装成功了,在log中我们可以窥见安装路径:
图片 19

没错,正是安装到了/etc/fdfs中,我们看一下该目录下的文件:
图片 20

如上图,安装成功后就会生成如上的3个.sample文件(示例配置文件),大家再各自拷贝出3个前面用的正式的安插文件:

cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

从此再查看一下/etc/fdfs的文件目录:
图片 21

至此法斯特DFS已经设置收尾,接下去的做事就是逐一配置Tracker和Storage了。

FastDFS

第一步依旧是解压:

tar -zxvf fastdfs-5.05.tar.gz 

解压完毕后进入目录fastdfs-5.05,依次执行./make.sh和./make.sh install:

./make.sh
./make.sh install

从不报错就认证安装成功了,在log中大家可以发现安装路径:
图片 22

正确,正是安装到了/etc/fdfs中,大家看一下该目录下的文本:
图片 23

如上图,安装成功后就会变动如上的3个.sample文件(示例配置文件),大家再各自拷贝出3个前面用的规范的配备文件:

cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

后来再查看一下/etc/fdfs的文件目录:
图片 24

至此FastDFS已经安装收尾,接下去的办事就是各种配置Tracker和Storage了。

FastDFS

先是步仍然是解压:

tar -zxvf fastdfs-5.05.tar.gz 

解压完结后进入目录fastdfs-5.05,依次执行./make.sh和./make.sh install:

./make.sh
./make.sh install

并未报错就表明安装成功了,在log中大家可以窥见安装路径:
图片 25

毋庸置疑,正是安装到了/etc/fdfs中,我们看一下该目录下的文书:
图片 26

如上图,安装成功后就会生成如上的3个.sample文件(示例配置文件),大家再分别拷贝出3个后边用的业内的布局文件:

cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

此后再查看一下/etc/fdfs的文件目录:
图片 27

至此法斯特DFS已经安装已毕,接下去的做事就是各个配置Tracker和Storage了。

Tracker

在布署Tracker从前,首先要求成立Tracker服务器的文本路径,即用于存储Tracker的数据文件和日志文件等,我那里接纳在/opt目录下创设一个fastdfs_tracker目录用于存放Tracker服务器的相干文件:

mkdir /opt/fastdfs_tracker

接下去就要重新编排上一步准备好的/etc/fdfs目录下的tracker.conf配置文件,打开文件后各种做以下修改:

  1. disabled=false #启用配置文件(默认启用)
  2. port=22122 #安装tracker的端口号,寻常选用22122以此默许端口
  3. base_path=/opt/fastdfs_tracker
    #安装tracker的数据文件和日志目录
  4. http.server_port=6666 #设置http端口号,默认为8080

配置已毕后就足以启动Tracker服务器了,但首先依旧要为启动脚本创设软引用,因为fdfs_trackerd等一声令下在/usr/local/bin中并从未,而是在/usr/bin路径下:

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

最后通过命令启动Tracker服务器:

service fdfs_trackerd start

命令执行后得以看看以下提醒:
图片 28

设若开行命令执行成功,那么与此同时在刚刚创设的tracker文件目录/opt/fastdfs_tracker中就足以看看启动后新变化的data和logs目录,tracker服务的端口也应有被正常监听,最终再通过netstat命令查看一下端口监听处境:

netstat -unltp|grep fdfs

可以看来tracker服务运行的22122端口正常被监听:
图片 29

确认tracker正常启动后方可将tracker设置为开机启动,打开/etc/rc.d/rc.local并在里头加入以下配置:

service fdfs_trackerd start

Tracker至此就配备好了,接下去就足以布置法斯特DFS的另一基本——Storage。

Tracker

在配置Tracker此前,首先须要创设Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等,我那里采用在/opt目录下创办一个fastdfs_tracker目录用于存放Tracker服务器的连带文件:

mkdir /opt/fastdfs_tracker

接下去就要重新编辑上一步准备好的/etc/fdfs目录下的tracker.conf配置文件,打开文件后挨家挨户做以下修改:

  1. disabled=false #启用配置文件(默许启用)
  2. port=22122 #安装tracker的端口号,平常采用22122以此默许端口
  3. base_path=/opt/fastdfs_tracker
    #安装tracker的数据文件和日志目录
  4. http.server_port=6666 #设置http端口号,默认为8080

布局完结后就可以启动Tracker服务器了,但第一依旧要为启动脚本创造软引用,因为fdfs_trackerd等一声令下在/usr/local/bin中并没有,而是在/usr/bin路径下:

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

说到底经过命令启动Tracker服务器:

service fdfs_trackerd start

一声令下执行后方可知到以下提醒:
图片 30

比方开行命令执行成功,那么与此同时在刚刚创立的tracker文件目录/opt/fastdfs_tracker中就足以见到启动后新变化的data和logs目录,tracker服务的端口也应有被正常监听,最终再经过netstat命令查看一下端口监听景况:

netstat -unltp|grep fdfs

可以观察tracker服务运作的22122端口正常被监听:
图片 31

确认tracker正常启动后方可将tracker设置为开机启动,打开/etc/rc.d/rc.local并在内部参预以下配置:

service fdfs_trackerd start

Tracker至此就配备好了,接下去就足以安插FastDFS的另一主旨——Storage。

Tracker

在配置Tracker以前,首先须求创建Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等,我那里接纳在/opt目录下开创一个fastdfs_tracker目录用于存放Tracker服务器的连锁文件:

mkdir /opt/fastdfs_tracker

接下去就要重复编写上一步准备好的/etc/fdfs目录下的tracker.conf配置文件,打开文件后逐一做以下修改:

  1. disabled=false #启用配置文件(默许启用)
  2. port=22122 #安装tracker的端口号,平时选择22122以此默认端口
  3. base_path=/opt/fastdfs_tracker
    #设置tracker的数据文件和日志目录
  4. http.server_port=6666 #设置http端口号,默认为8080

配备落成后就可以启动Tracker服务器了,但第一仍然要为启动脚本创造软引用,因为fdfs_trackerd等一声令下在/usr/local/bin中并没有,而是在/usr/bin路径下:

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

终极经过命令启动Tracker服务器:

service fdfs_trackerd start

指令执行后方可观察以下提醒:
图片 32

假使开行命令执行成功,那么与此同时在刚刚成立的tracker文件目录/opt/fastdfs_tracker中就足以见到启动后新变化的data和logs目录,tracker服务的端口也应当被正常监听,最后再通过netstat命令查看一下端口监听处境:

netstat -unltp|grep fdfs

可以观察tracker服务运作的22122端口正常被监听:
图片 33

确认tracker正常启动后方可将tracker设置为开机启动,打开/etc/rc.d/rc.local并在其中参加以下配置:

service fdfs_trackerd start

Tracker至此就布署好了,接下去就可以配备法斯特DFS的另一大旨——Storage。

Storage

同理,步骤基本与计划Tracker一致,首先是开创Storage服务器的文件目录,需求注意的是同Tracker比较我多建了一个索引,因为Storage还索要一个文书存储路径,用于存放接收的公文:

mkdir /opt/fastdfs_storage
mkdir /opt/fastdfs_storage_data

接下去修改/etc/fdfs目录下的storage.conf配置文件,打开文件后逐一做以下修改:

  1. disabled=false #启用配置文件(默许启用)
  2. group_name=group1 #组名,依据实际意况修改
  3. port=23000
    #设置storage的端口号,默许是23000,同一个组的storage端口号必须一致
  4. base_path=/opt/fastdfs_storage #安装storage数据文件和日志目录
  5. store_path_count=1 #储存路径个数,要求和store_path个数匹配
  6. store_path0=/opt/fastdfs_storage_data #实际文件存储路径
  7. tracker_server=192.168.111.11:22122 #tracker 服务器的
    IP地址和端口号,若是是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是自家的CentOS虚拟机ip)
  8. http.server_port=8888 #设置 http 端口号

配置落成后一样要为Storage服务器的开行脚本设置软引用:

ln -s /usr/bin/fdfs_storaged  /usr/local/bin

接下去就足以启动Storage服务了:

service fdfs_storaged start

命令执行后可以看来以下提示:
图片 34

同理,假若开行成功,/opt/fastdfs_storage中就足以看到启动后新变化的data和logs目录,端口23000也应被正常监听,还有某些就是文本存储路径下会转变多级存储目录,那么接下去看看是或不是启动成功了:
图片 35

如上图,貌似没得逞啊,因为启动storage后文件都没生成,为了确认大家看一下storage的端口景况:
图片 36

果真是没启动成功!端口近年来如故只监听了一个,storage的23000端口并未被监听,那么大家只能去日志文件中找原因了,进入/opt/fastdfs_storage/logs目录下并开拓storaged.log文件:
图片 37

如上图,可以看到确实有一个error,关键音信是:

ERROR – file: storage_func.c, line: 896, mkdir
“/etc/fastdfs_storage_data/data” fail, errno: 2, error info: No such
file or directory

尚未公文或目录!再回头看一下/etc/fdfs目录下的storage.conf的配备:
图片 38

果然配错了,大家指定成了/etc/fastdfs_storage_data目录,而实际上大家创造的地方是/opt/fastdfs_storage_data,粗心大意,老眼昏花!修改路径后再行重启storage服务,然后再看看data目录和骨子里存储文件的/opt/fastdfs_storage_data:
图片 39

如上图,可以看看/opt/fastdfs_storage/data目录下生成好的pid文件和dat文件,那么再看一下实在文件存储路径下是不是有成立好的层层目录呢:
图片 40

如上图,没有其余难点,data下有256个1级目录,每级目录下又有256个2级子目录总共65536个文件,新写的公文少禽以hash的法子被路由到里头某个子目录下,然后将文件数量直接作为一个地面文件存储到该目录中。那么最终大家再看一下storage服务的端口监听景况:
图片 41

如上图,可以看出那儿早已司空眼惯监听tracker的22122端口和storage的23000端口,至此storage服务器就曾经布置达成,确定了storage服务器启动成功后,还有一项工作就是看看storage服务器是不是业已登记到
tracker服务器(也得以通晓为tracker与storage是不是构成成功),运行以下命令:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

[root@localhost /]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2016-09-23 12:59:26] DEBUG – base_path=/opt/fastdfs_storage,
connect_timeout=30, network_timeout=60, tracker_server_count=1,
anti_steal_token=0, anti_steal_secret_key length=0,
use_connection_pool=0, g_connection_pool_max_idle_time=3600s,
use_storage_id=0, storage server id count: 0

server_count=1, server_index=0

tracker server is 192.168.111.11:22122

group count: 1

Group 1:
group name = group1
disk total space = 6818 MB
disk free space = 2169 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0

Storage 1:
id = 192.168.111.11
ip_addr = 192.168.111.11 ACTIVE
http domain =
version = 5.05
join time = 2016-09-23 11:15:54
up time = 2016-09-23 12:33:26
total storage = 6818 MB
free storage = 2169 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8888
current_write_path = 0
source storage id =
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 0
connection.max_count = 0
total_upload_count = 0
success_upload_count = 0
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 0
success_set_meta_count = 0
total_delete_count = 0
success_delete_count = 0
total_download_count = 0
success_download_count = 0
total_get_meta_count = 0
success_get_meta_count = 0
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 0
success_upload_bytes = 0
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 0
success_download_bytes = 0
total_sync_in_bytes = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 0
success_file_open_count = 0
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 0
success_file_write_count = 0
last_heart_beat_time = 2016-09-23 12:58:59
last_source_update = 1970-01-01 08:00:00
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00

如上所示,看到192.168.111.11 ACTIVE
字样即可验证storage服务器已经成功注册到了tracker服务器,同理别忘了添加开机启动,打开/etc/rc.d/rc.local并将如下配置扩大到文件中:

service fdfs_storage start

至今大家就曾经完成了fastdfs的全方位布局,此时也就可以用客户端工具进行文件上传下载的测试了。

Storage

同理,步骤基本与布置Tracker一致,首先是创办Storage服务器的文件目录,必要注意的是同Tracker相比我多建了一个索引,因为Storage还索要一个文书存储路径,用于存放接收的公文:

mkdir /opt/fastdfs_storage
mkdir /opt/fastdfs_storage_data

接下去修改/etc/fdfs目录下的storage.conf配置文件,打开文件后相继做以下修改:

  1. disabled=false #启用配置文件(默许启用)
  2. group_name=group1 #组名,根据实际情状修改
  3. port=23000
    #安装storage的端口号,默许是23000,同一个组的storage端口号必须一致
  4. base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录
  5. store_path_count=1 #积存路径个数,必要和store_path个数匹配
  6. store_path0=/opt/fastdfs_storage_data #其实文件存储路径
  7. tracker_server=192.168.111.11:22122 #tracker 服务器的
    IP地址和端口号,即使是单机搭建,IP不要写127.0.0.1,否则启动不成事(此处的ip是自我的CentOS虚拟机ip)
  8. http.server_port=8888 #设置 http 端口号

配备完结后一样要为Storage服务器的起步脚本设置软引用:

ln -s /usr/bin/fdfs_storaged  /usr/local/bin

接下去就足以启动Storage服务了:

service fdfs_storaged start

指令执行后得以看看以下提醒:
图片 42

同理,如果开行成功,/opt/fastdfs_storage中就足以看看启动后新变化的data和logs目录,端口23000也应被正常监听,还有某些就是文件存储路径下会变卦多级存储目录,那么接下去看看是或不是启动成功了:
图片 43

如上图,貌似没成功啊,因为启动storage后文件都没生成,为了确认咱们看一下storage的端口情形:
图片 44

果真是没启动成功!端口方今如故只监听了一个,storage的23000端口并未被监听,那么我们只好去日志文件中找原因了,进入/opt/fastdfs_storage/logs目录下并开拓storaged.log文件:
图片 45

如上图,可以见见确实有一个error,关键新闻是:

ERROR – file: storage_func.c, line: 896, mkdir
“/etc/fastdfs_storage_data/data” fail, errno: 2, error info: No such
file or directory

从没公文或目录!再回头看一下/etc/fdfs目录下的storage.conf的布置:
图片 46

果真配错了,大家指定成了/etc/fastdfs_storage_data目录,而实在我们创制的岗位是/opt/fastdfs_storage_data,粗心大意,老眼昏花!修改路径后再次重启storage服务,然后再看看data目录和事实上存储文件的/opt/fastdfs_storage_data:
图片 47

如上图,可以看到/opt/fastdfs_storage/data目录下生成好的pid文件和dat文件,那么再看一下其实文件存储路径下是不是有创制好的一种类目录呢:
图片 48

如上图,没有任何难点,data下有256个1级目录,每级目录下又有256个2级子目录总共65536个文件,新写的文本会以hash的艺术被路由到里面某个子目录下,然后将文件数量直接当做一个地面文件存储到该目录中。那么最后我们再看一下storage服务的端口监听景况:
图片 49

如上图,可以见到那儿早已不以为奇监听tracker的22122端口和storage的23000端口,至此storage服务器就已经布置完毕,确定了storage服务器启动成功后,还有一项工作就是看看storage服务器是还是不是曾经注册到
tracker服务器(也可以通晓为tracker与storage是不是构成成功),运行以下命令:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

[root@localhost /]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2016-09-23 12:59:26] DEBUG – base_path=/opt/fastdfs_storage,
connect_timeout=30, network_timeout=60, tracker_server_count=1,
anti_steal_token=0, anti_steal_secret_key length=0,
use_connection_pool=0, g_connection_pool_max_idle_time=3600s,
use_storage_id=0, storage server id count: 0

server_count=1, server_index=0

tracker server is 192.168.111.11:22122

group count: 1

Group 1:
group name = group1
disk total space = 6818 MB
disk free space = 2169 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0

Storage 1:
id = 192.168.111.11
ip_addr = 192.168.111.11 ACTIVE
http domain =
version = 5.05
join time = 2016-09-23 11:15:54
up time = 2016-09-23 12:33:26
total storage = 6818 MB
free storage = 2169 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8888
current_write_path = 0
source storage id =
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 0
connection.max_count = 0
total_upload_count = 0
success_upload_count = 0
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 0
success_set_meta_count = 0
total_delete_count = 0
success_delete_count = 0
total_download_count = 0
success_download_count = 0
total_get_meta_count = 0
success_get_meta_count = 0
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 0
success_upload_bytes = 0
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 0
success_download_bytes = 0
total_sync_in_bytes = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 0
success_file_open_count = 0
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 0
success_file_write_count = 0
last_heart_beat_time = 2016-09-23 12:58:59
last_source_update = 1970-01-01 08:00:00
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00

如上所示,看到192.168.111.11 ACTIVE
字样即可验证storage服务器已经打响注册到了tracker服务器,同理别忘了添加开机启动,打开/etc/rc.d/rc.local并将如下配置扩展到文件中:

service fdfs_storage start

至今大家就早已成功了fastdfs的全方位配置,此时也就足以用客户端工具举行文件上传下载的测试了。

Storage

同理,步骤基本与配置Tracker一致,首先是创办Storage服务器的文件目录,须要专注的是同Tracker相比较我多建了一个目录,因为Storage还亟需一个文本存储路径,用于存放接收的文本:

mkdir /opt/fastdfs_storage
mkdir /opt/fastdfs_storage_data

接下去修改/etc/fdfs目录下的storage.conf配置文件,打开文件后逐一做以下修改:

  1. disabled=false #启用配置文件(默许启用)
  2. group_name=group1 #组名,依据实际景况修改
  3. port=23000
    #安装storage的端口号,默许是23000,同一个组的storage端口号必须一律
  4. base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录
  5. store_path_count=1 #积存路径个数,要求和store_path个数匹配
  6. store_path0=/opt/fastdfs_storage_data #实质上文件存储路径
  7. tracker_server=192.168.111.11:22122 #tracker 服务器的
    IP地址和端口号,若是是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是自个儿的CentOS虚拟机ip)
  8. http.server_port=8888 #设置 http 端口号

布局完结后一致要为Storage服务器的启动脚本设置软引用:

ln -s /usr/bin/fdfs_storaged /usr/local/bin

接下去就足以启动Storage服务了:

service fdfs_storaged start

指令执行后方可知见以下提示:
图片 50

同理,假设开行成功,/opt/fastdfs_storage中就足以见见启动后新转变的data和logs目录,端口23000也应被正常监听,还有某些就是文本存储路径下会转变多级存储目录,那么接下去看看是或不是启动成功了:
图片 51

如上图,貌似没得逞啊,因为启动storage后文件都没生成,为了确认大家看一下storage的端口境况:
图片 52

果不其然是没启动成功!端口近期照旧只监听了一个,storage的23000端口并未被监听,那么大家不得不去日志文件中找原因了,进入/opt/fastdfs_storage/logs目录下并打开storaged.log文件:
图片 53

如上图,可以观察真的有一个error,关键新闻是:

ERROR – file: storage_func.c, line: 896, mkdir
“/etc/fastdfs_storage_data/data” fail, errno: 2, error info: No such
file or directory

尚无公文或目录!再回头看一下/etc/fdfs目录下的storage.conf的布署:
图片 54

果不其然配错了,大家指定成了/etc/fastdfs_storage_data目录,而事实上大家创制的义务是/opt/fastdfs_storage_data,粗心大意,老眼昏花!修改路径后重新重启storage服务,然后再看看data目录和实在存储文件的/opt/fastdfs_storage_data:
图片 55

如上图,可以看来/opt/fastdfs_storage/data目录下生成好的pid文件和dat文件,那么再看一下其实文件存储路径下是不是有开创好的泛滥成灾目录呢:
图片 56

如上图,没有任何难题,data下有256个1级目录,每级目录下又有256个2级子目录总共65536个文件,新写的文本会以hash的章程被路由到个中某个子目录下,然后将文件数量间接作为一个地面文件存储到该目录中。那么最后我们再看一下storage服务的端口监听情形:
图片 57

如上图,可以看出那儿早已不以为奇监听tracker的22122端口和storage的23000端口,至此storage服务器就早已布署完毕,确定了storage服务器启动成功后,还有一项工作就是看看storage服务器是还是不是曾经登记到
tracker服务器(也足以了然为tracker与storage是或不是构成成功),运行以下命令:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

[root@localhost /]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2016-09-23 12:59:26] DEBUG – base_path=/opt/fastdfs_storage,
connect_timeout=30, network_timeout=60, tracker_server_count=1,
anti_steal_token=0, anti_steal_secret_key length=0,
use_connection_pool=0, g_connection_pool_max_idle_time=3600s,
use_storage_id=0, storage server id count: 0

server_count=1, server_index=0

tracker server is 192.168.111.11:22122

group count: 1

Group 1:
group name = group1
disk total space = 6818 MB
disk free space = 2169 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0

Storage 1:
id = 192.168.111.11
ip_addr = 192.168.111.11 ACTIVE
http domain =
version = 5.05
join time = 2016-09-23 11:15:54
up time = 2016-09-23 12:33:26
total storage = 6818 MB
free storage = 2169 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8888
current_write_path = 0
source storage id =
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 0
connection.max_count = 0
total_upload_count = 0
success_upload_count = 0
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 0
success_set_meta_count = 0
total_delete_count = 0
success_delete_count = 0
total_download_count = 0
success_download_count = 0
total_get_meta_count = 0
success_get_meta_count = 0
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 0
success_upload_bytes = 0
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 0
success_download_bytes = 0
total_sync_in_bytes = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 0
success_file_open_count = 0
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 0
success_file_write_count = 0
last_heart_beat_time = 2016-09-23 12:58:59
last_source_update = 1970-01-01 08:00:00
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00

如上所示,看到192.168.111.11 ACTIVE
字样即可验证storage服务器已经成功注册到了tracker服务器,同理别忘了添加开机启动,打开/etc/rc.d/rc.local并将如下配置扩大到文件中:

service fdfs_storage start

迄今大家就早已做到了fastdfs的全套安插,此时也就足以用客户端工具举行文件上传下载的测试了。

开首测试

测试时需求安装客户端的布局文件,编辑/etc/fdfs目录下的client.conf
文件,打开文件后各类做以下修改:

  1. base_path=/opt/fastdfs_tracker #tracker服务器文件路径
  2. tracker_server=192.168.111.11:22122 #tracker服务器IP地址和端口号
  3. http.tracker_server_port=6666 # tracker 服务器的 http
    端口号,必须和tracker的安装相应起来

安插达成后就足以一成不变文件上传了,先给/opt目录下放一张图片(大雪三伯的LOGO):
图片 58

然后经过举行客户端上传命令尝试上传:

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /opt/BLIZZARD.jpg

运作后方可窥见给大家回来了一个门道:
图片 59

那就代表咱们的文本已经上传成功了,当文件存储到某个子目录后,即认为该文件存储成功,接下去会为该公文生成一个文本名,文件名由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,紧要用以区分文件类型)拼接而成,如下图:
图片 60

与此同时在此前安顿的storage服务器的实际文件存储路径中也足以依照重临的不二法门找到实际文件:
图片 61

接下去尝试用浏览器发送HTTP请求访问一下文书:
图片 62

那儿发现并不可以访问,因为法斯特DFS近来已不辅助http协议,我们在法斯特DFS
4.0.5的版本更新日志中得以见到这么一条音讯:
图片 63

如上图,4.0.5版本初阶移除了自带的HTTP辅助(因为前边自带的HTTP服务较为简单,不能提供负载均衡等高品质服务),所以余大提供了nginx上利用法斯特DFS的模块fastdfs-nginx-module,下载地址如下:https://github.com/happyfish100/fastdfs-nginx-module,那样做最大的功利就是提供了HTTP服务并且缓解了group中storage服务器的协同延迟难题,接下去就实际记录一下fastdfs-nginx-module的装置配备进程。

起来测试

测试时索要设置客户端的安顿文件,编辑/etc/fdfs目录下的client.conf
文件,打开文件后逐一做以下修改:

  1. base_path=/opt/fastdfs_tracker #tracker服务器文件路径
  2. tracker_server=192.168.111.11:22122 #tracker服务器IP地址和端口号
  3. http.tracker_server_port=6666 # tracker 服务器的 http
    端口号,必须和tracker的设置相应起来

布署达成后就足以如法泡制文件上传了,先给/opt目录下放一张图纸(阵雪三叔的LOGO):
图片 64

下一场通过实施客户端上传命令尝试上传:

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /opt/BLIZZARD.jpg

运转后得以窥见给大家回到了一个门路:
图片 65

那就表示大家的文书已经上传成功了,当文件存储到某个子目录后,即认为该公文存储成功,接下去会为该文件生成一个文书名,文件名由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,紧要用来区分文件类型)拼接而成,如下图:
图片 66

并且在头里安排的storage服务器的其实文件存储路径中也得以依照再次回到的路线找到实际文件:
图片 67

接下去尝试用浏览器发送HTTP请求访问一下文本:
图片 68

此时察觉并不能访问,因为法斯特DFS近年来已不帮衬http协议,大家在法斯特DFS
4.0.5的本子更新日志中得以见到那样一条消息:
图片 69

如上图,4.0.5本子早先移除了自带的HTTP协助(因为事先自带的HTTP服务较为简单,无法提供负载均衡等高品质服务),所以余大提供了nginx上采取法斯特DFS的模块fastdfs-nginx-module,下载地址如下:https://github.com/happyfish100/fastdfs-nginx-module,那样做最大的益处就是提供了HTTP服务并且化解了group中storage服务器的同步延迟难题,接下去就具体记录一下fastdfs-nginx-module的安装配置进程。

早先测试

测试时索要设置客户端的布署文件,编辑/etc/fdfs目录下的client.conf
文件,打开文件后相继做以下修改:

  1. base_path=/opt/fastdfs_tracker #tracker服务器文件路径
  2. tracker_server=192.168.111.11:22122 #tracker服务器IP地址和端口号
  3. http.tracker_server_port=6666 # tracker 服务器的 http
    端口号,必须和tracker的设置相应起来

配备落成后就足以如法泡制文件上传了,先给/opt目录下放一张图片(阵雪三叔的LOGO):
图片 70

下一场经过执行客户端上传命令尝试上传:

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /opt/BLIZZARD.jpg

运转后可以窥见给大家回到了一个路径:
图片 71

那就表示大家的文件已经上传成功了,当文件存储到某个子目录后,即认为该文件存储成功,接下去会为该公文生成一个文书名,文件名由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成,如下图:
图片 72

并且在头里布置的storage服务器的其实文件存储路径中也得以依据再次来到的路线找到实际文件:
图片 73

接下去尝试用浏览器发送HTTP请求访问一下文本:
图片 74

此时发觉并不可能访问,因为法斯特DFS近日已不协助http协议,大家在FastDFS
4.0.5的本子更新日志中得以看到那样一条音信:
图片 75

如上图,4.0.5本子开首移除了自带的HTTP支持(因为事先自带的HTTP服务较为简单,不可能提供负载均衡等高品质服务),所以余大提供了nginx上行使法斯特DFS的模块fastdfs-nginx-module,下载地址如下:https://github.com/happyfish100/fastdfs-nginx-module,那样做最大的利益就是提供了HTTP服务并且化解了group中storage服务器的协同延迟难点,接下去就具体记录一下fastdfs-nginx-module的设置配置进度。

fastdfs-nginx-module

在余大的GitHub上下载好fastdfs-nginx-module上传来大家的CentOS中就足以初叶设置了,在设置nginx以前须求先安装一些模块看重的lib库,我在原先写的blog有做详细介绍(Linux
CentOS 7 & Tengine(Nginx)安装与计划),直接贴出安装代码:

yum -y install pcre pcre-devel  
yum -y install zlib zlib-devel  
yum -y install openssl openssl-devel

 

次第装好那些依赖之后就足以初叶安装nginx了。

fastdfs-nginx-module

在余大的GitHub上下载好fastdfs-nginx-module上流传我们的CentOS中就足以起始安装了,在设置nginx从前须求先安装一些模块看重的lib库,我在原先写的blog有做详细介绍(Linux
CentOS 7 & Tengine(Nginx)安装与布局),直接贴出安装代码:

yum -y install pcre pcre-devel  
yum -y install zlib zlib-devel  
yum -y install openssl openssl-devel

 

各类装好那些信赖之后就可以起来设置nginx了。

fastdfs-nginx-module

在余大的GitHub上下载好fastdfs-nginx-module上传到大家的CentOS中就足以起来安装了,在装置nginx以前要求先安装一些模块信赖的lib库,我在从前写的文章有做详细介绍(Linux
CentOS 7 &
Tengine(Nginx)安装与配置
),间接贴出安装代码:

yum -y install pcre pcre-devel  
yum -y install zlib zlib-devel  
yum -y install openssl openssl-devel

逐一装好那些看重之后就足以开头设置nginx了。

storage nginx

率先是为storage服务器安装nginx,首先将nginx和fastdfs-nginx-module的安装包上传至CentOS:
图片 76

首先分别举办解压:

tar -zxvf nginx-1.8.1.tar.gz
unzip fastdfs-nginx-module-master.zip

 

解压成功后就足以编译安装nginx了,进入nginx目录并输入以下命令进行布局:

./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src

布置成功后会看到如下音讯:
图片 77

跟着就足以开展编译安装了,依次执行以下命令:

make
make install

安装落成后,我们在大家指定的目录/usr/local/nginx中就足以看到nginx的设置目录了:
图片 78

接下去要修改一下nginx的配置文件,进入conf目录并开拓nginx.conf文件加入以下配置:

listen       9999;

location ~/group1/M00 {
      root /opt/fastdfs_storage_data/data;
      ngx_fastdfs_module;
}

下一场进入法斯特DFS的装置目录/usr/local/fastdfs-5.05目录下的conf目录,将http.confmime.types拷贝到/etc/fdfs目录下:

cp -r /usr/local/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp -r /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs/

接下去还亟需把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:

cp -r /usr/local/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

看一下/etc/fdfs目录下当前具备的配置文件:
图片 79

没关系难点,接下去就必要编制刚拷贝的那么些mod_fastdfs.conf文件了,打开mod_fastdfs.conf并按顺序依次编译以下内容:

  1. base_path=/opt/fastdfs_storage #封存日志目录
  2. tracker_server=192.168.111.11:22122
    #tracker服务器的IP地址以及端口号
  3. storage_server_port=23000 #storage服务器的端口号
  4. url_have_group_name = true #文本 url 中是不是有 group 名
  5. store_path0=/opt/fastdfs_storage_data # 存储路径
  6. group_count = 3 #设置组的个数,事实上这一次只利用了group1

设置了group_count = 3,接下去就需求在文件底部扩张那3个group setting:

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

接下去还索要树立 M00 至存储目录的号子连接:

ln  -s  /opt/fastdfs_storage_data/data /opt/fastdfs_storage_data/data/M00

最终启动nginx:

/usr/local/nginx/sbin/nginx

体现如下音讯认证nginx已开行成功:
图片 80

由此浏览器也足以见见nginx的主页:
图片 81

storage服务器的nginx就早已设置收尾,接下去看一下tracker服务器的nginx安装。

storage nginx

第一是为storage服务器安装nginx,首先将nginx和fastdfs-nginx-module的安装包上传至CentOS:
图片 82

率先分别举办解压:

tar -zxvf nginx-1.8.1.tar.gz
unzip fastdfs-nginx-module-master.zip

 

解压成功后就可以编译安装nginx了,进入nginx目录并输入以下命令举行配备:

./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src

安插成功后会看到如下信息:
图片 83

接着就可以展开编译安装了,依次执行以下命令:

make
make install

设置到位后,大家在我们指定的目录/usr/local/nginx中就可以看出nginx的设置目录了:
图片 84

接下去要修改一下nginx的布署文件,进入conf目录并开拓nginx.conf文件参预以下配置:

listen       9999;

location ~/group1/M00 {
      root /opt/fastdfs_storage_data/data;
      ngx_fastdfs_module;
}

然后进入法斯特DFS的安装目录/usr/local/fastdfs-5.05目录下的conf目录,将http.confmime.types拷贝到/etc/fdfs目录下:

cp -r /usr/local/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp -r /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs/

接下去还索要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:

cp -r /usr/local/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

看一下/etc/fdfs目录下当前怀有的布署文件:
图片 85

没关系难题,接下去就需求编制刚拷贝的那一个mod_fastdfs.conf文件了,打开mod_fastdfs.conf并按顺序依次编译以下内容:

  1. base_path=/opt/fastdfs_storage #保存日志目录
  2. tracker_server=192.168.111.11:22122
    #tracker服务器的IP地址以及端口号
  3. storage_server_port=23000 #storage服务器的端口号
  4. url_have_group_name = true #文件 url 中是或不是有 group 名
  5. store_path0=/opt/fastdfs_storage_data # 存储路径
  6. group_count = 3 #设置组的个数,事实上本次只行使了group1

设置了group_count = 3,接下去就须要在文书尾部扩展那3个group setting:

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

接下去还索要建立 M00 至存储目录的标志连接:

ln  -s  /opt/fastdfs_storage_data/data /opt/fastdfs_storage_data/data/M00

说到底启动nginx:

/usr/local/nginx/sbin/nginx

呈现如下新闻验证nginx已开行成功:
图片 86

透过浏览器也可以看到nginx的主页:
图片 87

storage服务器的nginx就早已安装完毕,接下去看一下tracker服务器的nginx安装。

storage nginx

率先是为storage服务器安装nginx,首先将nginx和fastdfs-nginx-module的安装包上传至CentOS:
图片 88

首先分别举办解压:

tar -zxvf nginx-1.8.1.tar.gz
unzip fastdfs-nginx-module-master.zip

解压成功后就足以编译安装nginx了,进入nginx目录并输入以下命令举行配备:

./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module-master/src

布署成功后会看到如下音信:
图片 89

随之就足以开展编译安装了,依次执行以下命令:

make
make install

安装已毕后,我们在我们指定的目录/usr/local/nginx中就足以见见nginx的安装目录了:
图片 90

接下去要修改一下nginx的布局文件,进入conf目录并打开nginx.conf文件参与以下配置:

listen       9999;

location ~/group1/M00 {
      root /opt/fastdfs_storage_data/data;
      ngx_fastdfs_module;
}

接下来进入法斯特DFS的装置目录/usr/local/fastdfs-5.05目录下的conf目录,将http.confmime.types拷贝到/etc/fdfs目录下:

cp -r /usr/local/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp -r /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs/

接下去还亟需把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:

cp -r /usr/local/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

看一下/etc/fdfs目录下当前有所的布置文件:
图片 91

不要紧难题,接下去就必要编制刚拷贝的这一个mod_fastdfs.conf文件了,打开mod_fastdfs.conf并按顺序依次编译以下内容:

  1. base_path=/opt/fastdfs_storage #封存日志目录
  2. tracker_server=192.168.111.11:22122
    #tracker服务器的IP地址以及端口号
  3. storage_server_port=23000 #storage服务器的端口号
  4. url_have_group_name = true #文件 url 中是还是不是有 group 名
  5. store_path0=/opt/fastdfs_storage_data # 存储路径
  6. group_count = 3 #设置组的个数,事实上本次只利用了group1

设置了group_count = 3,接下去就须求在文件底部扩张那3个group setting:

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs_storage_data

接下去还要求树立 M00 至存储目录的号子连接:

ln  -s  /opt/fastdfs_storage_data/data  /opt/fastdfs_storage_data/data/M00

最终启动nginx:

/usr/local/nginx/sbin/nginx

来得如下音讯认证nginx已开行成功:
图片 92

透过浏览器也得以观看nginx的主页:
图片 93

storage服务器的nginx就曾经设置收尾,接下去看一下tracker服务器的nginx安装。

tracker nginx

同理,再装一个nginx,目录命名为nginx2,安装路径依旧放在/usr/local下,由于和前面一样,此处就不再做详细表达:

mkdir nginx2
cd nginx-1.8.1/
./configure --prefix=/usr/local/nginx2 --add-module=/usr/local/fastdfs-nginx-module-master/src
make
make install
  • 1
  • 2
  • 3
  • 4
  • 5

接下去仍然是修改nginx2的布署文件,进入conf目录并打开nginx.conf文件加入以下配置,storage的nginx无需修改listen端口,即默许的80端口,并将upstream指向tracker的nginx地址:

upstream fdfs_group1 {
     server 127.0.0.1:9999;
}

location /group1/M00 {
     proxy_pass http://fdfs_group1;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

接下去启动nginx2:

/usr/local/nginx2/sbin/nginx
  • 1

那时候拜会nginx2的主页,由于并未改动端口,直接访问ip地址即可:
图片 94

终极一步就是内需修改/etc/fdfs目录下的client.conf文件,打开该公文并参与以下配置:

base_path=/data/fastdfs_storage  #日志存放路径
tracker_server=192.168.116.145:22122  #tracker 服务器 IP 地址和端口号
http.tracker_server_port=6666  # tracker 服务器的 http 端口号,必须和tracker的设置对应起来
  • 1
  • 2
  • 3

至此关于fastdfs就曾经全副安顿已毕了,再四回开展测试看看是还是不是能正常上传文件并透过http访问文件。

tracker nginx

同理,再装一个nginx,目录命名为nginx2,安装路径依旧放在/usr/local下,由于和事先同一,此处就不再做详细表达:

mkdir nginx2
cd nginx-1.8.1/
./configure --prefix=/usr/local/nginx2 --add-module=/usr/local/fastdfs-nginx-module-master/src
make
make install
  • 1
  • 2
  • 3
  • 4
  • 5

接下去照旧是修改nginx2的安插文件,进入conf目录并打开nginx.conf文件出席以下配置,storage的nginx无需修改listen端口,即默许的80端口,并将upstream指向tracker的nginx地址:

upstream fdfs_group1 {
     server 127.0.0.1:9999;
}

location /group1/M00 {
     proxy_pass http://fdfs_group1;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

接下去启动nginx2:

/usr/local/nginx2/sbin/nginx
  • 1

此刻走访nginx2的主页,由于没有改动端口,直接访问ip地址即可:
图片 95

最终一步就是索要修改/etc/fdfs目录下的client.conf文件,打开该公文并加入以下配置:

base_path=/data/fastdfs_storage  #日志存放路径
tracker_server=192.168.116.145:22122  #tracker 服务器 IP 地址和端口号
http.tracker_server_port=6666  # tracker 服务器的 http 端口号,必须和tracker的设置对应起来
  • 1
  • 2
  • 3

从那之后关于fastdfs就已经全体布局已毕了,再五次开展测试看看是还是不是能正常上传文件并透过http访问文件。

tracker nginx

同理,再装一个nginx,目录命名为nginx2,安装路径依然放在/usr/local下,由于和前面一样,此处就不再做详细表达:

mkdir nginx2
cd nginx-1.8.1/
./configure --prefix=/usr/local/nginx2 --add-module=/usr/local/fastdfs-nginx-module-master/src
make
make install

接下去照旧是修改nginx2的布署文件,进入conf目录并打开nginx.conf文件参与以下配置,storage的nginx无需修改listen端口,即默许的80端口,并将upstream指向tracker的nginx地址:

upstream fdfs_group1 {
     server 127.0.0.1:9999;
}

location /group1/M00 {
     proxy_pass http://fdfs_group1;
}

接下去启动nginx2:

/usr/local/nginx2/sbin/nginx

此刻走访nginx2的主页,由于尚未改动端口,直接访问ip地址即可:
图片 96

说到底一步就是亟需修改/etc/fdfs目录下的client.conf文件,打开该公文并出席以下配置:

base_path=/data/fastdfs_storage  #日志存放路径
tracker_server=192.168.116.145:22122  #tracker 服务器 IP 地址和端口号
http.tracker_server_port=6666  # tracker 服务器的 http 端口号,必须和tracker的设置对应起来

由来关于fastdfs就早已全副配置完结了,再一回开展测试看看是或不是能正常上传文件并透过http访问文件。

HTTP测试

再给/opt目录下上传一张冰雹父亲的LOGO图:
图片 97

通过客户端命令测试上传:
图片 98

如上图,依然上传成功,接下去的要紧就是经过HTTP测试文件访问,打开浏览器输入ip地址+文件名探访是或不是能健康访问该图片:
图片 99

一切正常~ 至此关于法斯特DFS在CentOS 7下的配置测试就已经全体形成了。

HTTP测试

再给/opt目录下上传一张阵雪岳丈的LOGO图:
图片 100

通过客户端命令测试上传:
图片 101

如上图,如故上传成功,接下去的紧要就是通过HTTP测试文件访问,打开浏览器输入ip地址+文件名探访是还是不是能健康访问该图片:
图片 102

一切正常~ 至此关于法斯特DFS在CentOS 7下的布局测试就曾经整整成就了。

HTTP测试

再给/opt目录下上传一张小雪四叔的LOGO图:
图片 103

通过客户端命令测试上传:
图片 104

如上图,依旧上传成功,接下去的基本点就是通过HTTP测试文件访问,打开浏览器输入ip地址+文件名探访是或不是能健康访问该图片:
图片 105

一切正常~ 至此关于法斯特DFS在CentOS 7下的布署测试就已经全部完事了。

总结

本篇文章记录了开源分布式文件系统法斯特DFS在Linux CentOS
7中装置配置以及测试的全经过,下一篇作品将会延续介绍通过Java客户端以及SpringMVC中结合法斯特DFS已毕公文上传下载,The
End。

 

CentOS 6.2下fastDFS的完好安装和配备步骤
http://www.linuxidc.com/Linux/2012-12/75989.htm

FastDFS在Ubuntu下的安装,PHP客户端
http://www.linuxidc.com/Linux/2012-09/71459.htm

法斯特DFS分布式文件服务器安装,及配置,测试
http://www.linuxidc.com/Linux/2012-09/71458.htm

法斯特DFS 整合Nginx难题整治
http://www.linuxidc.com/Linux/2012-09/71232.htm

CentOS下搭建FastDFS
http://www.linuxidc.com/Linux/2012-09/70995.htm

Ubuntu安装法斯特DFS全程记录
http://www.linuxidc.com/Linux/2012-03/56377.htm

法斯特DFS
的详细介绍
请点那里
法斯特DFS
的下载地址
请点那里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-09/135537.htm

图片 106

相关文章