zoukankan      html  css  js  c++  java
  • centos7下面装fastdfs

    首先我完全是按照这个链接上面来的,其中也算有点小错https://blog.csdn.net/ty5546/article/details/79245648



    环境准备
    编译环境

    yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel -y

    数据目录
    说明               目录
    所有安装包     /usr/local/src
    tracker跟踪服务器数据     /fastdfs/tracker
    storage存储服务器数据     /fastdfs/storage

    mkdir -p /fastdfs/tracker  #创建跟踪服务器数据目录
    mkdir -p /fastdfs/storage  #创建存储服务器数据目录
    cd /usr/local/src  #切换到安装目录准备下载安装包


    安装libfatscommon

    git clone https://github.com/happyfish100/libfastcommon.git --depth 1
    cd libfastcommon/
    ./make.sh && ./make.sh install

    安装FastDFS

    git clone https://github.com/happyfish100/fastdfs.git --depth 1
    cd fastdfs/
    ./make.sh && ./make.sh install
    #配置文件准备
    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
    cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
    cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用
    cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx访问使用
    cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx访问使用


    安装fastdfs-nginx-module

    git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
    cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

    安装nginx

    wget http://nginx.org/download/nginx-1.12.2.tar.gz
    tar -zxvf nginx-1.12.2.tar.gz
    cd nginx-1.12.2/
    #添加fastdfs-nginx-module模块
    ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/
    make && make install

    单机部署
    配置启动跟踪服务器tracker

    vim /etc/fdfs/tracker.conf
    #需要修改的内容如下
    port=22122  # tracker服务器端口(默认22122,一般不修改)
    base_path=/fastdfs/tracker  # 存储日志和数据的根目录
    #保存后启动
    /etc/init.d/fdfs_trackerd start #启动tracker服务
    chkconfig fdfs_trackerd on #自启动tracker服务


    配置启动存储服务器storage

    vim /etc/fdfs/storage.conf
    #需要修改的内容如下
    port=23000  # storage服务端口(默认23000,一般不修改)
    base_path=/fastdfs/storage  # 数据和日志文件存储根目录
    store_path0=/fastdfs/storage  # 第一个存储目录
    tracker_server=192.168.0.xxx:22122  # tracker服务器IP和端口---------------------------这里我要记录下这个ip地址好像不能瞎填,反正就是本机的ip,下面也一样
    http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
    #保存后启动
    /etc/init.d/fdfs_storaged start #启动storage服务
    chkconfig fdfs_storaged on #自启动storage服务

    配置本地客户端(非必须)

    vim /etc/fdfs/client.conf
    #需要修改的内容如下
    base_path=/fastdfs/tracker
    tracker_server=192.168.1.xxx:22122    #tracker IP地址
    #保存后测试,返回ID表示成功 eg:group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
    fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.12.2.tar.gz

    配置启动nginx

    vim /etc/fdfs/mod_fastdfs.conf
    #需要修改的内容如下
    tracker_server=192.168.0.xxx:22122
    url_have_group_name=true
    store_path0=/fastdfs/storage
    #配置nginx.config
    vi /usr/local/nginx/conf/nginx.conf
    #添加如下配置
    server {
        listen       8888;    ## 该端口为storage.conf中的http.server_port相同
        server_name  localhost;
        location ~/group[0-9]/ {
            ngx_fastdfs_module;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        root   html;
        }
    }

    #保存后启动测试
    /usr/local/nginx/sbin/nginx #启动nginx
    #测试下载,用外部浏览器访问刚才已传过的nginx安装包,引用返回的ID
    http://192.168.0.xxx:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
    #弹出下载单机部署全部跑通,否则首先检查防火墙,再检查其他配置。


    高可用集群部署
    FastDFS集群
    名称     IP     组     数据目录
    跟踪服务器1     192.168.0.181:22122         /fastdfs/tracker
    跟踪服务器1     192.168.0.182:22122         /fastdfs/tracker
    存储服务器1     192.168.0.183:23000     group1-1     /fastdfs/storage
    存储服务器2     192.168.0.184:23000     group1-2     /fastdfs/storage
    存储服务器3     192.168.0.185:23000     group2-1     /fastdfs/storage
    存储服务器4     192.168.0.186:23000     group2-2     /fastdfs/storage
    负载均衡集群
    名称     IP
    存储服务器负载均衡节点1     192.168.0.181:8000
    存储服务器负载均衡节点2     192.168.0.182:8000
    HA虚拟IP     192.168.0.189

    HA软件:Keepalived
    架构设计图

    mark
    机器准备

    准备拥有基础环境的服务器7台。
    配置启动跟踪服务器tracker

    在181和182两台机器上配置如下。

    vim /etc/fdfs/tracker.conf
    #需要修改的内容如下
    port=22122  # tracker服务器端口(默认22122,一般不修改)
    base_path=/fastdfs/tracker  # 存储日志和数据的根目录
    #保存后启动
    /etc/init.d/fdfs_trackerd start #启动tracker服务
    chkconfig fdfs_trackerd on #自启动tracker服务


    配置启动存储服务器storage
    group1配置

    vim /etc/fdfs/storage.conf
    #需要修改的内容如下
    port=23000  # storage服务端口(默认23000,一般不修改)
    base_path=/fastdfs/storage  # 数据和日志文件存储根目录
    store_path0=/fastdfs/storage  # 第一个存储目录
    group_name=group1
    tracker_server=192.168.0.181:22122  # tracker服务器IP和端口
    tracker_server=192.168.0.182:22122  # tracker服务器IP和端口
    http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
    #保存后启动
    /etc/init.d/fdfs_storaged start #启动storage服务
    chkconfig fdfs_storaged on #自启动storage服务


    group2配置
    JAVA连接测试
    引入pom

    <dependency>
        <groupId>com.luhuiguo</groupId>
        <artifactId>fastdfs-client</artifactId>
        <version>0.4.0</version>
    </dependency>


    代码测试

     // 初始化连接池
    FdfsConnectionPool pool = new FdfsConnectionPool();
     // 设置tracker
    List<String> trackers=new Arrays.asList("192.168.0.181:22122,192.168.0.182:22122")
    TrackerConnectionManager tcm = new TrackerConnectionManager(pool,trackers);
    TrackerClient trackerClient = new DefaultTrackerClient(tcm);
    // 得到storage客户端
    ConnectionManager cm = new ConnectionManager(pool);
    FastFileStorageClient storageClient = new DefaultFastFileStorageClient(trackerClient, cm);
    // 定义操作的文件
    File file = new File("E://A.txt");
    // 上传文件
    StorePath path = storageClient.uploadFile(IOUtils.toByteArray(new FileInputStream(file)),FilenameUtils.getExtension(file.getName()));
    // 下载文件
    storageClient.downloadFile(path.getGroup(), path.getPath());
    // 删除文件
    storageClient.deleteFile(path.getGroup(), path.getPath());

  • 相关阅读:
    [BZOJ3195] [Jxoi2012]奇怪的道路
    Splay Tree
    区间DP复习
    Link Cut Tree
    [BZOJ2734] [HNOI2012]集合选数
    如何写出杀手级简历(针对程序员) (转)
    30个提高Web程序执行效率的好经验(转)
    Oracle中的SQL跟踪( 转)
    如何终止SQL Server中的用户进程(转)
    Will the real programmers please stand up?(转)
  • 原文地址:https://www.cnblogs.com/shiwanming/p/10391575.html
Copyright © 2011-2022 走看看