FastDFS+Nginx实现文件服务器(二)


1 架构

1.1 架构图

FastDFS+Nginx实现文件服务器(二)_第1张图片
文件服务器架构

1.2 架构描述

出于高可用的需求tracker和storage都使用两台服务器,storage使用两个组用以说明storage可以任意扩充组实现线性扩展。

1.3 client

client请求tracker进行文件上传、下载、删除。
client可以通过java client API方式进行文件上传、下载、删除。
client可以通过http方式进行文件下载。tracker通过nginx提供http下载接口。
client也可以直接访问storage进行文件上传、下载、删除,但建议client通过tracker进行文件上传、下载、删除。

1.3.1 Tracker Server

每个tracker server互相平等,tracker server上部署nginx是为了对外提供http文件下载接口,tracker上nginx只是起到负载均衡的作用。tracker的nginx会代理转发至storage上的nginx。
tracker上的两个nginx可以采用主备方式实现高可用。nginx高可用参数nginx文档。

1.3.2 Storage Server

每台storage上也部署nginx,storage上的nginx与tracker上的nginx有区别,storage上的nginx需要安装FastDSF-nginx模块,此模块的作用是使用FastDFS和nginx进行整合,nginx对外提供http文件下载接口,注意:nginx只提供文件下载接口不提供上传接口。文件上传仍然通过java client API进行。

2 FastDFS--tracker安装

分别在192.168.101.3和192.168.101.4上安装tracker。
注:初次安装可只安装一台tracker方便调试。

2.1 下载

tracker和storage使用相同的安装包,下载地址:
http://sourceforge.net/projects/FastDFS/
或https://github.com/happyfish100/FastDFS(推荐)

本教程下载:FastDFS_v5.05.tar.gz

2.2 FastDFS安装环境

FastDFS是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++

2.3 安装libevent

FastDFS依赖libevent库,需要安装:
yum -y install libevent

2.4 安装libfastcommon

libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。
将libfastcommonV1.0.7.tar.gz拷贝至/usr/local/下

cd /usr/local
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install

注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。
要拷贝的文件如下:

文件示意

2.5 tracker编译安装

将FastDFS_v5.05.tar.gz拷贝至/usr/local/下
tar -zxvf FastDFS_v5.05.tar.gz

cd FastDFS
./make.sh
./make.sh install

安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下。


安装成功后的目录

2.6 配置

安装成功后进入/etc/fdfs目录:


目录
//拷贝一份新的tracker配置文件:
cp tracker.conf.sample tracker.conf

//修改tracker.conf
vi tracker.conf
base_path=/home/yuqing/FastDFS   
//改为:
base_path=/home/FastDFS
//配置http端口:
http.server_port=80

2.7 启动

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
启动的日志显示先停止5619进程(实际环境不是5619)再启动,如下图:

启动

注意:如果没有显示上图要注意是否正常停止原有进程。

3 FastDFS--storage安装

分别在192.168.101.5、192.168.101.6、192.168.101.7、192.168.101.8上安装storage。
注:初次安装可只安装一台storage方便调试。

3.1 安装libevent

同tracker安装

3.2 安装libfastcommon

同tracker安装。

3.3 storage编译安装

同tracker编译安装。

3.4 配置

安装成功后进入/etc/fdfs目录:

目录
#拷贝一份新的storage配置文件:
cp storage.conf.sample storage.conf

#修改storage.conf
vi storage.conf
group_name=group1
base_path=/home/yuqing/FastDFS改为:base_path=/home/FastDFS
store_path0=/home/yuqing/FastDFS改为:store_path0=/home/FastDFS/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#store_path2=......
tracker_server=192.168.101.3:22122   #配置tracker服务器:IP
#如果有多个则配置多个tracker
tracker_server=192.168.101.4:22122

#配置http端口
http.server_port=80

3.5 启动

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
启动的日志显示先停止8931进程(实际环境不是8931)再启动,如下图:

启动

** 注意:如果没有显示上图要注意是否正常停止原有进程。**

4 上传图片测试

链接

FastDFS分布式文件系统(一)
FastDFS 和nginx整合(三)

你可能感兴趣的:(FastDFS+Nginx实现文件服务器(二))