Fastdfs 部署与使用

Fastdfs 介绍

Fastdfs 是一款流行的分布式文件系统,具有文件自动同步,防止单点故障等特性,官网地址:https://github.com/happyfish100/fastdfs

部署

采用 Docker 部署,使用官网提供的 Docker 文件稍加修改,截止 2021-11-09 日,在 github 官网项目中可以看见两套部署方案,一套 local 和一套 network,local 就是将一些会提前用到的包下载到本地,防止国内访问 dockerhub 网络不好的情况,但是经过实际测试,这个方案会有问题,于是直接采用 network 方式:https://github.com/happyfish100/fastdfs/tree/master/docker/dockerfile_network

启动 tracker

使用命令 fdfs_trackerd /etc/fdfs/tracker.conf restart 启动 tracker

查看日志文件 cat /root/fastdfs/logs/trackerd.log 显示 [2021-11-09 04:24:55] INFO - FastDFS v6.07, base_path=/home/dfs, ... 表示启动成功

启动 storage

使用命令 fdfs_storaged /etc/fdfs/storage.conf restart 启动 storage

查看日志文件 cat /root/fastdfs/logs/storaged.log 显示 [2021-11-09 04:24:55] INFO - FastDFS v6.07, base_path=/home/dfs, ... 表示启动成功

服务启动后进入容器内部,输入命令 fdfs_monitor /etc/fdfs/storage.conf,可以查看 storage 是否已注册到 tracker

Nat 网络

大多数情况下 storage 是部署在内网当中,当其向 tracker 注册时,tracker 拿到的只是 storage 的内网 ip,此时需要使用双 ip 模式部署,参考 https://www.jianshu.com/p/b16922f71375#_Toc18054 中的 “Storage server服务器双IP设置”

实际分离部署

官网的 docker 配置是把 trackerstoragenginx 通过 Dockerfile 打包在一起,我将 trackerstorage、nginx 分离成了两个包,并且将配置文件也独立出来,按照我的习惯,使用 docker-compose 配合 volumes 映射配置文件进行部署。tracker 地址 fengrui358/fastdfs_trackerstorage 地址 fengrui358/fastdfs_storage。配置文件以 github 官网为基础修改,放在 conf 目录下。

tracker docker compose config:

fastdfs_tracker:
    image: 'fengrui358/fastdfs_tracker'
    container_name: fastdfs_tracker
    restart: always
    networks:
        - "fastdfs_network"
    ports:
        - "22122:22122" # tracker_server
    volumes:
        - ./conf:/etc/fdfs # 配置
        - ./data:/home/dfs # 数据

storage docker compose config:

fastdfs_storage:
    image: 'fengrui358/fastdfs_storage'
    container_name: fastdfs_storage
    restart: always
    networks:
        - "fastdfs_network"
    ports:
        - "23000:23000" # stoage_server
        - "8011:80" #nginx web
    volumes:
        - ./conf:/etc/fdfs # 配置
        - ./data:/home/dfs # 数据
        - ./conf:/usr/local/nginx/conf # nginx 配置

客户端测试

使用了一个 Dotnet 客户端进行测试,https://github.com/caozhiyuan/FastDFSNetCore

参考:

http://www.ityouknow.com/fastdfs/2017/10/10/cluster-building-fastdfs.html
https://www.jianshu.com/p/b16922f71375#_Toc18054

原文地址:https://frhello.com/fastdfs-部署与使用/

posted @   fengrui  阅读(419)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示