美文网首页
FastDFS+Nginx实现文件服务器(二)

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

作者: 产品经理不是经理啊 | 来源:发表于2017-04-25 23:43 被阅读0次

    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)再启动,如下图:

    启动

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

    4 上传图片测试

    链接

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

    相关文章

      网友评论

          本文标题:FastDFS+Nginx实现文件服务器(二)

          本文链接:https://www.haomeiwen.com/subject/aiaszttx.html