FastDFS的docker部署及实现头像上传

news2024/9/24 17:12:14

FastDFS的使用并实现头像上传

  • 一、FastDFS概述
  • 二、安装FastDFS
    • 1. 拉取镜像
    • 2. 安装tracker
    • 3. 安装storage
  • 4. NGINX服务启动
  • 三、配置和依赖
    • 配置
    • 依赖
  • 四、头像上传

一、FastDFS概述

  1. 概述
    在这里插入图片描述

  2. 上传交互过程
    在这里插入图片描述
    两个服务:Tracker Server 和Storage Server

  • Tracker Server
    跟踪服务,负责调度和负载均衡

  • Storage Server
    存储服务,负责文件存储

在这里插入图片描述

  1. 下载交互过程
    在这里插入图片描述
    在这里插入图片描述

二、安装FastDFS

注:fastDFS可以查看github上的官方文档
在这里插入图片描述

1. 拉取镜像

  1. 查看fastdfs镜像
    在这里插入图片描述

  2. 拉取镜像命令

sudo docker pull delron/fastdfs
  1. 查看镜像
    在这里插入图片描述

2. 安装tracker

安装tracker

sudo docker run -dti --network=host --name tracker01 -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker #--network设置网络,=host表示和本机处于一个局域网中 -dti使用交互式终端  /var/fdfs/tracker 容器的tracker目录 挂载到 本机的/var/fdfs目录中 delron/fastdfs镜像文件名  tracker:终端

操作如下:
在这里插入图片描述

3. 安装storage

  1. 查看tracker服务器的ip地址,tracker server的端口默认为22122
ifconfig #查看IP地址

安装storage,必须和tracker server 在同一个网络中

sudo docker run -dti --network=host --name storage01 -e TRACKER_SERVER=xxx.xxx.xxx.xxx:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage

在这里插入图片描述
storage无法启动解决办法:
在这里插入图片描述
在这里插入图片描述

4. NGINX服务启动

在nginx官网下载nginx的windows版本,直接解压
nginx的端口默认是8888,确保nginx的服务有运行起来。
在这里插入图片描述

在这里插入图片描述
至此,fastDFS的基础服务tacker容器、storage容器、nginx服务都已配置好!

  1. 其他命令

ps -aux|grep 8888 #查看监听端口

三、配置和依赖

配置

  1. 在utils文件下新建一个fastdfs的文件夹
    在这里插入图片描述
  2. 在fastdfs文件下再创建一个logs文件夹存放日志信息以及client.conf的配置文件
    在这里插入图片描述
  3. 在官方文档中找到conf ——client.conf,将其中的内容复制到项目中的client.conf的配置文件中

在这里插入图片描述
在这里插入图片描述
配置内容已经复制下来,如下,做对应修改即可,步骤已写在注释中:

# connect timeout in seconds
# default value is 30s
# Note: in the intranet network (LAN), 2 seconds is enough.
connect_timeout = 5 #连接超时时间

# network timeout in seconds
# default value is 30s
network_timeout = 60 #网络超时时间

# the base path to store log files
base_path = utils/fastdfs/logs # 1.修改日志文件路径为fastdfs的日志存放路径

# tracker_server can ocur more than once for multi tracker servers.
# the value format of tracker_server is "HOST:PORT",
#   the HOST can be hostname or ip address,
#   and the HOST can be dual IPs or hostnames seperated by comma,
#   the dual IPS must be an inner (intranet) IP and an outer (extranet) IP,
#   or two different types of inner (intranet) IPs.
#   for example: 192.168.2.100,122.244.141.46:22122
#   another eg.: 192.168.1.10,172.17.4.21:22122

tracker_server = xxx.xxx.xxx.xxx:22122 # 2. 改成自己的tracker server 的ip地址和端口
# tracker_server = 192.168.0.196:22122 #有多个tracker server 就写多个

#standard log level as syslog, case insensitive, value list:
### emerg for emergency
### alert
### crit for critical
### error
### warn for warning
### notice
### info
### debug
log_level = info #日志等级为info

# if use connection pool
# default value is false
# since V4.05
use_connection_pool = false #是否使用连接池

# connections whose the idle time exceeds this time will be closed
# unit: second
# default value is 3600
# since V4.05
connection_pool_max_idle_time = 3600 #连接池的最大延时时间

# if load FastDFS parameters from tracker server
# since V4.05
# default value is false
load_fdfs_parameters_from_tracker = false

# if use storage ID instead of IP address
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# default value is false
# since V4.05
use_storage_id = false

# specify storage ids filename, can use relative or absolute path
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# since V4.05
storage_ids_filename = storage_ids.conf


#HTTP settings
http.tracker_server_port = 80

#use "#include" directive to include HTTP other settiongs
##include http.conf

依赖

下载py3Fdfs、mutagen、requests
在这里插入图片描述
上传验证,检查环境有无问题
在这里插入图片描述
通过nginx的ip地址+file_id可访问到图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

②大缓存ModbusRTU485数据集中采集器寄存器线圈重映射从站并发采集Modbus 串口RS485 转 RS485

大缓存ModbusRTU485数据集中采集器寄存器线圈重映射从站并发采集https://item.taobao.com/item.htm?ftt&id811821574300 关于产品的布线图和配置说明 以一分4路(MS-A1-C041)为例 布线图 RS485 在点到多点通信时,为了防止信号的反射和干…

《线性代数》学渣笔记

文章目录 1 行列式1.1 克拉默法则1.2 基本性质1.3 余子式 M i j M_{ij} Mij​1.4 代数余子式 A i j ( − 1 ) i j ⋅ M i j A_{ij} (-1)^{ij} \cdot M_{ij} Aij​(−1)ij⋅Mij​1.5 具体型行列式计算(化为基本型)1.5.1 主对角线行列式:主…

MMD模型及动作一键完美导入UE5-IVP5U插件方案(二)

1、下载并启用IVP5U插件 1、下载IVP5U插件, IVP5U,点击Latest下载对应引擎版本,将插件放到Plugins目录,同时将.uplugin文件的EnableByDefault改为false 2、然后通过Edit->Plugins启用插件 2、导入pmx模型 1、直接在Content的某个目录拖入pmx模型,选择默认参数 2、…

13年408计算机考研-计算机网络

第一题: 解析:OSI体系结构 OSI参考模型,由下至上依次是:物理层-数据链路层-网络层-运输层-会话层-表示层-应用层。 A.对话管理显然属于会话层, B.数据格式转换,是表示层要解决的问题,很显然答案…

使用Python和OpenCV生成灰阶图像

代码如下: import cv2 import numpy as npimg np.zeros((256, 256), np.uint8)for i in range(0,16):for j in range(0,16):img[i*16:(i1)*16][j*16:(j1)*16]i*16jcv2.imwrite(result.jpg, img) 效果如下:

新能源汽车充电桩怎么选?

新能源汽车是我国七大战略性新兴产业之一,已成为汽车产业转型升级的重要推动力。毫无疑问。充电桩作为我国新能源汽车产业链下游的重要环节,在国家政策的大力支持和市场需求的带动下,有着非常广阔的前景。安科瑞叶西平187-06160015 新能源汽…

科研服务新高度:表观组学的一站式实验服务

生物信息实验室致力于分子育种技术的研发和在生物医学研究领域的应用,实验室以分子遗传学实验技术和高通量生物信息分析技术为核心,建立了基因组、表观组、互作组的全面科研服务体系。50余位教授、研究员智库专家,您身边的分子实验专家!

哈里斯表态:承诺支持加密货币投资!

KlipC报道:近日,在曼哈顿举办的一次筹款活动中,美国副总统哈里斯首次公开表态,如果当选,她将支持增加对人工智能和加密货币行业的投资。 哈里斯表示,“我将把劳工、小企业创始人、创新者和大公司团结在一起…

【网络安全】公钥密码体制

1. 公钥密码体制概述 1.1 基本概念 公钥密码体制,又称为非对称密码体制,是一种基于数学函数的加密方式,它使用一对公钥和私钥来进行加密和解密。公钥用于加密,私钥用于解密。这种体制提供了一种安全的通信方式,因此在…

安装程序不用鼠标,Windows也玩程序包管理存储库

网管小贾 / sysadm.cc “嘿,嘿,看见没,今年某某著名大学建筑专业才招了4名新生!” 大刘用手点指手机,带着一脸的吃惊相。 我冲他笑了笑,说道:“那是他们的教学水平不行。” “要是换了我&…

【JS】正则表达

正则表达式 reg /匹配规则/ reg.test(str) 1.边界符:^ 以...开头,$ 以...结尾 2.量词:* 出现0次或多次, 出现1次或多次, ? 出现0次或1次,{n}出现n次,{n,m}出现n到m次 3.字符类:[]中的字符任一出现&…

无人机的避障的航迹规划详解!!!

一、无人机避障技术 视觉避障系统:通过安装在无人机上的摄像头捕捉周围环境的图像,利用计算机视觉技术对图像进行处理和分析,提取出障碍物的信息。这种方法直观、信息丰富,但在光线不足或变化多的情况下可能影响识别效果&#xf…

生成测试图片的步骤

生成测试图片的步骤: 1、通义万象画图:https://tongyi.aliyun.com/wanxiang/creation 2、改图宝修改尺寸:https://www.gaitubao.com/

set的使用

序列式容器和关联式容器 序列式容器: 前⾯我们已经接触过STL中的部分容器如:string、vector、list、deque、array、forward_list等,这些容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间…

【Python报错已解决】AttributeError: ‘Tensor‘ object has no attribute ‘kernel_size‘

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

使用compile_commands激活vscode索引-跳转-代码提示功能

最近发现,使用vscode打开一个大的c工程很容易无法正常调转和代码提示。所以经常会手动修改.vscode/c_cpp_properties.json文件的"includePath"属性。然而,当pkg越来越多 工程体量越来越大之后,我不得不探索如何自动的完成这一过程&…

Matplotlib画图相关代码

绘制不同类型的线条 import matplotlib.pyplot as plt import numpy as npx np.array([1, 2, 3]) y np.array([2, 4, 6])# 不同线型的示例 plt.plot(y, marker*, linestyle-) # 实线 plt.plot(y 1, markero, linestyle--) # 虚线 plt.plot(y 2, markerx, linestyle-.)…

【IDEA配置Maven环境】

在IDEA欢迎界面 选择 IDEA中 Customize > ALLSettings > Build,Execution,Deployment > Build Tools > Maven

VirtualBox+Vagrant快速搭建Centos7系统【最新详细教程】

VirtualBoxVagrant快速搭建Centos7系统 📖1.安装VirtualBox✅下载VirtualBox✅安装 📖2.安装Vagrant✅下载Vagrant✅安装 📖3.搭建Centos7系✅初始化Vagrantfile文件生成✅启动Vagrantfile文件✅解决 vagrant up下载太慢的问题✅配置网络ip地…

从零开始的软件开发详解:数字药店系统源码与医保购药APP

很多小伙伴们疑问,医保购药APP是如何开发的,今天我将从零数字药店系统源码开始为大家提供一条清晰的实现方案。 一、技术架构设计 在开发医保购药APP之前,首先需要明确技术架构。一般来说,APP的技术架构可以分为前端和后端。 1…