leyou_06——FastDFS在Nginx下的安装与测试

1.FastDFS

FastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富:

  • 文件存储

  • 文件同步

  • 文件访问(上传、下载)

  • 存取负载均衡

  • 在线扩容

2.架构图

leyou_06——FastDFS在Nginx下的安装与测试

 

 

FastDFS两个主要的角色:Tracker Server 和 Storage Server 。

  • Tracker Server:跟踪服务器,主要负责调度storage节点与client通信,在访问上起负载均衡的作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽。

  • Storage Server:存储服务器,保存文件和文件的meta data(元数据),每个storage server会启动一个单独的线程主动向Tracker cluster中每个tracker server报告其状态信息,包括磁盘使用情况,文件同步情况及文件上传下载次数统计等信息

  • Group:文件组,多台Storage Server的集群。上传一个文件到同组内的一台机器上后,FastDFS会将该文件即时同步到同组内的其它所有机器上,起到备份的作用。不同组的服务器,保存的数据不同,而且相互独立,不进行通信。

  • Tracker Cluster:跟踪服务器的集群,有一组Tracker Server(跟踪服务器)组成。

  • Storage Cluster :存储集群,有多个Group组成

 

 

3.上传和下载流程

上传:客户端上传图片后返回一个ip

leyou_06——FastDFS在Nginx下的安装与测试

 

 存放着该图片在Storage中的位置

下载:携带返回的该id,找到在Storage中的位置。

4.安装和使用

需要的安装包

leyou_06——FastDFS在Nginx下的安装与测试

 

 安装依赖

安装GCC依赖

sudo yum -y install gcc

 

 

安装unzip工具

sudo yum install -y unzip zip

安装unzip工具

sudo yum install -y unzip zip

安装Nginx所需依赖

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

 

 

安装libfastcommon-master

解压刚刚上传的libfastcommon-master.zip

unzip libfastcommon-master.zip

进入解压完成的目录:

 

cd libfastcommon-master

 

编译并且安装:

sudo ./make.sh 
sudo ./makesh install

 

 

 

安装FastDFS

编译安装

解压

tar -xvf FastDFS_v5.08.tar.gz

进入目录

cd FastDFS

编译并安装

sudo ./make.sh 
sudo ./make.sh install

校验安装结果

安装完成,我们应该能在/etc/init.d/目录,通过命令ll /etc/init.d/ | grep fdfs看到FastDFS提供的启动脚本:

  • fdfs_trackerd 是tracker启动脚本

  • fdfs_storaged 是storage启动脚本

 

我们可以在 /etc/fdfs目录,通过命令查看到以下配置文件模板:

leyou_06——FastDFS在Nginx下的安装与测试

 

 

 

启动tracker

FastDFS的tracker和storage在刚刚的安装过程中,都已经被安装了,因此我们安装这两种角色的方式是一样的。不同的是,两种需要不同的配置文件。

我们要启动tracker,就修改刚刚看到的tarcker.conf,并且启动fdfs_trackerd脚本即可。

  • 编辑tracker配置

首先我们将模板文件进行赋值和重命名:

 

上一篇:FastDFS搭建分布式文件系统


下一篇:FastDFS java上传文件 tracker 地址设置