FastDFS+Nginx实现文件服务器(二)
1 架构
1.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)再启动,如下图:
** 注意:如果没有显示上图要注意是否正常停止原有进程。**