夸克之书

  • 首页
  • 科普
  • 笔记
  • .NET/C#
  • 物联网
  • 算法
  • Linux
  • 树莓派
夸克之内,别有洞天
  1. 首页
  2. 默认
  3. 正文

单机Docker搭建FastDFS

2020-10-27 5092点热度 0人点赞 0条评论

最近项目开发为分模块开发,在项目开发过程中避免不了要使用文件上传,遂开发了一个通用的文件上传功能,将文件上传到专用的文件服务器当中。

FastDFS 是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等。

一、架构

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。 存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。跟踪器和存储节点都可以由多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。

%title插图%num

简单概况来说就是,Tracker负责管理集群和实现集群。Storage实际保存文件。 Storage 分为多个组,每个组之间保存的文件是不同的,且每个组内部可以有多个成员,组成员内部保存的内容一致,组成员的地位也是一致的,没有主从的概念。

二、搭建

1、拉取镜像

docker pull delron/fastdfs

2、启动跟踪器(tracker)服务

docker run -d --restart=always 
--network=host 
--name tracker 
-v /data/fdfs/tracker:/var/fdfs 
delron/fastdfs tracker

Tracker容器默认端口是22122。
3、启动storage服务

docker run -d 
--network=host 
--name storage 
-e TRACKER_SERVER=192.168.23.30:22122 
-v /data/fdfs/storage:/var/fdfs 
-e GROUP_NAME=group1 
delron/fastdfs storage

需要注意的是,在启动storage命令中,需要将“192.168.23.30”这个IP地址修改为自己服务器的IP地址,由于我在内网搭建,所以IP地址为192.168..开头的。

Tracker和Storage启动后,将会把目录分别映射至“/data/fdfs/tracker”和“/data/fdfs/storage”,如有需要可以自行更改。

4、查看运行状态

%title插图%num

可以看到Tracker和Storage容器都已经启动完成。

5、测试
在测试之前,需要在防火墙和安全组开放三个端口。分别为:23000、22122和8888,其中23000被storage服务使用,22122被tracker服务使用,8888为nginx反向代理端口。
需要注意的是,如果系统安装了宝塔面板,宝塔面板默认使用的是8888端口,此时需要修改宝塔面板端口或者Storage的8888端口。
首先将要测试的文件通过ftp上传至文件夹“/data/fdfs/storage”,即映射到Storage容器的文件夹。我这里是1.jpg

%title插图%num

然后进入容器

docker exec -it storage bash

执行

cd /var/fdfs/
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpg

%title插图%num

其中1.jgp即为我们上传至 /data/fdfs/storage的1.jpg文件,然后在浏览器中输入“http://{你的IP地址}:{你的端口号}/group1/M00/00/00/wKgXHl-XeaqAYbbDAAWxl9vZtXk595.jpg”,就可以看到上传的照片啦。

%title插图%num

三、其它配置

1、配置nginx访问端口

上文提到,在实际使用过程中,很多情况下回用到8888端口,这里我就将原来的8888端口修改为不常用端口,避免冲突。

进入容器:

docker exec -it storage bash

编辑nginx默认端口

vi /usr/local/nginx/conf/nginx.conf

%title插图%num

编辑storage服务默认端口,我这里已经将8888修改为10001。

vi /etc/fdfs/storage.conf

%title插图%num

需要注意的是nginx的端口要和storage服务端口保持一致,然后重启容器即可。

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2020-12-13

管理员

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论
放松一下
https://www.quarkbook.com/wp-content/uploads/2021/05/凤凰传奇-海底(Live).flac
分类
  • .NET/C#
  • Linux
  • 树莓派
  • 物联网
  • 科普
  • 笔记
  • 算法
  • 默认
最新 热点 随机
最新 热点 随机
Visual Studio 2026(VS2026) 密钥/激活码 在代码中判断龙芯新旧世界平台 Windows获取固定后缀的IPv6地址 目前为止,你可能找不到第二台支持志强的1L小主机(P350 Tiny+W-1350+ECC+双NVME+PCIE扩展)!!! iKuai(爱快)实现成都移动IPTV IPoE拨号 Linux EXT4分区误删除后数据恢复
Visual Studio 2026(VS2026) 密钥/激活码
在代码中判断龙芯新旧世界平台 树莓派.Net Core Iot入门系列篇(4):UART串口通信 Firefox关闭浏览器缓存 Steam饥荒专用服务器搭建 树莓派安装.NET 8.0 .NET Core使用科大讯飞SDK来进行语音识别和合成
最近评论
xD 发布于 5 个月前(07月17日) 牛逼
Eagle 发布于 1 年前(10月21日) 参考博主教程成功搞定了成都移动IPTV组播转单播,电脑、手机都可以播放了。但目前有个问题,原IPTV...
rundoze 发布于 1 年前(08月31日) 牛逼
cc21216695 发布于 2 年前(09月27日) 试了一下,加入启动项也无效,压根没有用
afirefish 发布于 3 年前(11月28日) 非常感谢,非常棒!
书签
  • 打赏
  • 毒鸡汤
  • 米店
  • 金鱼直播间

COPYRIGHT © 2023 quarkbook.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备15036129号-9

登录
注册|忘记密码?