zoukankan      html  css  js  c++  java
  • FastDFS 服务器(一)

    引用:https://www.jianshu.com/p/4783d300f659

    参考:https://www.cnblogs.com/chiangchou/p/fastdfs.html

    https://blog.csdn.net/weixin_43696917/article/details/97904274?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

    Fdfs上传的图片批量删除:

    https://blog.csdn.net/u014401637/article/details/102704878?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1-102704878.nonecase&utm_term=fastdfs%E6%89%B9%E9%87%8F%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6

    FastDFS服务器部署

    FastDFS是分布式高可用、自动负载均衡的文件系统,特别适合小文件的在线服务,比如图片服务等。本文介绍一下,如何快速部署FastDFS服务器

    FastDFS系列

    说明

    说明位置
    数据存储目录 /home/dfs
    安装包 /usr/local/src

    安装依赖


    • 创建数据存储目录
    mkdir /home/dfs 
    
    • 安装依赖的第三方库
    yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
    
    • 安装libfastcommon
    cd /usr/local/src
    git clone https://github.com/happyfish100/libfastcommon.git --depth 1
    cd libfastcommon/
    ./make.sh && ./make.sh install #编译安装
    

    安装FastDFS


    cd /usr/local/src
    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访问使用
    

    单机部署


    tracker配置


    vim /etc/fdfs/tracker.conf
    #需要修改的内容如下
    port=22122  # tracker服务器端口(默认22122,一般不修改)
    base_path=/home/dfs  # 存储日志和数据的根目录
    

    storage配置


    vim /etc/fdfs/storage.conf
    #需要修改的内容如下
    port=23000  # storage服务端口(默认23000,一般不修改)
    base_path=/home/dfs  # 数据和日志文件存储根目录
    store_path0=/home/dfs  # 第一个存储目录
    tracker_server=192.168.58.101:22122  # tracker服务器IP和端口
    http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
    

    服务启动


    • 关闭防火墙
    #不关闭防火墙的话无法使用
    systemctl stop firewalld.service #关闭
    systemctl restart firewalld.service #重启
    
    • 启动tracker
    /etc/init.d/fdfs_trackerd start #启动tracker服务
    chkconfig fdfs_trackerd on #自启动tracker服务
    
    • 启动storage
    /etc/init.d/fdfs_storaged start #启动storage服务
    chkconfig fdfs_storaged on #自启动storage服务
    

    Client测试


    vim /etc/fdfs/client.conf
    #需要修改的内容如下
    base_path=/home/dfs
    tracker_server=192.168.58.101:22122    #tracker服务器IP和端口
    #保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
    fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz
    

    Nginx直接访问


    FastDFS支持Nginx直接访问,不需要经过Client中转,效率更高

    安装fastdfs-nginx-module


    cd ../ #返回上一级目录
    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.15.4.tar.gz #下载nginx压缩包
    tar -zxvf nginx-1.15.4.tar.gz #解压
    cd nginx-1.15.4/
    #添加fastdfs-nginx-module模块
    ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ 
    make && make install #编译安装
    
    • /etc/fdfs/mod_fastdfs.conf
    tracker_server=192.168.58.101:22122  #tracker服务器IP和端口
    url_have_group_name=true
    store_path0=/home/dfs
    
    • /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;
        }
    }
    
    • 浏览器访问
    http://192.168.58.101:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
    

    分布式部署


    • 增加部署

    按照单机部署模式在192.168.58.201上部署FastDFS(数据目录/home/dfstracker.conf配置)

    • 修改/etc/fdfs/storage.conf
    port=23000  # storage服务端口(默认23000,一般不修改)
    base_path=/home/dfs  # 数据和日志文件存储根目录
    store_path0=/home/dfs  # 第一个存储目录
    tracker_server=192.168.58.101:22122  # 服务器1
    tracker_server=192.168.58.201:22122  # 服务器2
    http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
    
    • 修改/etc/fdfs/client.conf
    base_path=/home/dfs
    tracker_server=192.168.58.101:22122  # 服务器1
    tracker_server=192.168.58.201:22122  # 服务器2
    
    • 修改/etc/fdfs/mod_fastdfs.conf
    tracker_server=192.168.58.101:22122  # 服务器1
    tracker_server=192.168.58.201:22122  # 服务器2
    url_have_group_name=true
    store_path0=/home/dfs
    

    重要信息

    • 日志目录:/home/dfs/logs

    如果遇到问题可以查看日志/home/dfs/logs

    常见问题

    • tracker_query_storage fail, error no: 2, error info: No such file or directory:检查配置文件/etc/fdfs/tracker.confstorage.confclient.conf是否正确。还可以查看日志/home/dfs/logs/

    参考

  • 相关阅读:
    POJ 3258 (NOIP2015 D2T1跳石头)
    POJ 3122 二分
    POJ 3104 二分
    POJ 1995 快速幂
    409. Longest Palindrome
    389. Find the Difference
    381. Insert Delete GetRandom O(1)
    380. Insert Delete GetRandom O(1)
    355. Design Twitter
    347. Top K Frequent Elements (sort map)
  • 原文地址:https://www.cnblogs.com/wx881208/p/13691515.html
Copyright © 2011-2022 走看看