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

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:22122tracker_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.xdnf.cn/news/145567.html

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

相关文章

UNRAID系统忘记密码解决办法

前言 unraid系统自己通过命令修改密码以后,怎么也进不去了。 这次带来如何重置密码 操作

着色器 简介

着色器(Shader)是运行在 GPU 上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间…

C语言进阶【5】---数据在内存中的存储【2】(小数存储很难吗?)

本章概述 本章引要练习 浮点数的存储浮点数的取出小补充题目解析彩蛋时刻!!! 本章引要 常见的浮点数:3.1415,1E10等。其中,1E10是科学计数法的形式,它也就等于1*10^10。小数数据类型&#xff1…

猫头虎 分享已解决Bug || Uncaught (in promise) ReferenceError: proxy is not defined 解决方案

🐯 猫头虎 分享已解决Bug || Uncaught (in promise) ReferenceError: proxy is not defined 解决方案 今天猫头虎带您探讨一个开发中常见但让人头疼的错误:Uncaught (in promise) ReferenceError: proxy is not defined。 很多前端开发者在工作中都会遇…

中国书法—孙溟㠭浅析碑帖《爨宝子碑》

中国书法——孙溟㠭浅析碑帖《爨宝子碑》 《爨宝子碑》 全称是《晋故振威将军建宁太守爨宝子之墓》,此碑刻于东晋大亨四年(公元405年)属楷书体。 《爨宝子碑》 《爨宝子碑》 至清朝乾隆四十三年(1778年)在云南南宁&…

基于C#+SQL Server2005(WinForm)图书管理系统

图书管理系统 一、 首先把数据库脚本贴出来(数据库名为library) USE [library] GO /****** Object: Table [dbo].[books] Script Date: 06/12/2016 11:27:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[books]([bNum] [nvarchar](10…

Σ-Δ模数转换器(ADC)揭秘(2)

5. Maxim的Σ-Δ ADC 新型高度集成Σ-Δ ADC以最少数量的外部元件处理小信号。例如,MAX1402芯片包括众多功能,被作为片上系统(图12)。器件在工作模式下的静态电流低至250A(关断模式下为2A),480sps速率时的精度为16位,4800sps速率…

英语六级-学习

01 英语分值比例 02听力学习 听力练习,基础好选择标准VOA和BBC。基础差选择VOA慢速。 听力内容包括不受政治争议的内容,社会生活类(奇闻趣事、日常生活)、经济类(商务、职场相关)、环保类、互联网类---------根据各类主题快速找到录音材料中心点。 研…

基于YOLOv8的RTSP视频流实时目标检测与告警系统设计与实现(超详细)

前言 在训练模型完成后,想把模型应用起来,比如模型可以部署到项目中,实时接收RTSP视频流进行识别检测,一旦达到自己所设置的置信度阈值(例如大于0.5),系统就会实时把报警信息发送给服务端&…

让银河麒麟桌面操作系统V10(SP1)允许ping测

银河麒麟桌面操作系统V10(SP1)使用的防火墙是kylin-firewall,默认情况下“公用网络”是禁ping的,如下图: 可以在“安全中心”->“网络保护”->“配置访问规则”->“专网规则”->找到“icmp”这条规则&…

减少代码错误的方法

最重要的是在写之前多举几个刁钻的例子来理解问题和代码的正确性 如果你给不出反例就说明你还没有理解(有的反例会后来会被证明是错的) 由于递归是把自己的和别人的相关的混合在一起来了,所以举反例的时候要从不同的角度出发。 求割点的&a…

二、电源滤波器

电源滤波器 1、电源滤波的过程分析! 波形形成过程: 2、计算: 滤波电容的容量和耐压值选择。 学习心得

【算法】最长公共子序列(C/C++)

最长公共子序列(LCS,Longest Common Subsequence)问题简称(LCS),是动态规划里面里面的基础算法。它的所解决的问题是,在两个序列中找到一个序列,使得它既是第一个序列的子序列&#…

【计算机网络 - 基础问题】每日 3 题(十三)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

阿里史上最大规模开源发布,超GPT-4o 、Llama-3.1!

今天凌晨,阿里巴巴官宣了史上最大规模的开源发布,推出了基础模型Qwen2.5、专用于编码Qwen2.5-Coder和数学的Qwen2.5-Math。 这三大类模型一共有10多个版本,包括0.5B、1.5B、3B、7B、14B、32B和72B,适用于个人、企业以及移动端、P…

数字化转型的策略与执行路径

企业在明确数字化转型的目标并评估自身数字化能力之后,必须前瞻性地识别出实现这些目标所需的关键数字化能力。基于这些能力,企业应制定出一套数字化转型战略,确立短期和中长期的转型目标,确保数字技术投资带来价值,而…

vulhub搭建漏洞环境docker-compose up -d命令执行报错以及解决方法汇总

在利用vulhub靶场搭建环境进行漏洞复现时,我们通常要使用这一步命令: docker-compose up -d 但是经常报错,今天我们来说几个常见的报错以及解决方法: 1.报错提示: ERROR: Couldnt connect to Docker daemon at httpdoc…

MySQL_图形管理工具简介、下载及安装(超详细)

课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :&#x1…

如何确保Java程序分发后不被篡改?使用JNI对Java程序进行安全校验

前言 众所周知,Java/Kotlin编译后会编译成smali,使用Jadx这类的反编译工具或者Hook工具就能很轻松的把我们的软件安全校验给破解了。 为了防止这种情况发生,我们一般会将核心代码使用C编写,然后使用JNI技术,使用Java…

对接全国点餐api接口有哪些具体步骤

与第三方餐饮服务提供商进行接口对接可以按照以下步骤进行: 一、前期准备 1.明确需求: 确定你的业务目标和对接口的具体需求。例如,你是希望通过接口获取餐厅信息、菜品列表、价格、库存情况,还是实现订单提交、支付处理、配送…