怀柔区企业网站设计机构提供网页技术

news/2025/9/29 8:31:43/文章来源:
怀柔区企业网站设计机构提供,网页技术,厦门响应式网站制作,免费微信小程序开发平台关于FastDFS FastDFS 是以 C 语言开发的一项开源轻量级分布式文件系统#xff0c;他对文件进行管理#xff0c;主要功能有#xff1a;文件存储#xff0c;文件同步#xff0c;文件访问#xff08;文件上传/下载#xff09;等#xff0c;特别适合以文件为载体的在线服务…关于FastDFS FastDFS 是以 C 语言开发的一项开源轻量级分布式文件系统他对文件进行管理主要功能有文件存储文件同步文件访问文件上传/下载等特别适合以文件为载体的在线服务如图片网站视频网站等。 外话FastDFS 是阿里余庆大神做的一个个人项目从2008年研发FastDFS开源至今在一些互联网创业公司中备受推崇GitHub开源地址https://github.com/happyfish100/fastdfs 本文基于Docker搭建以下是正文内容 1、搜索镜像 执行命令 docker search fastdfs然后界面会搜出一大堆镜像选哪个呢 老规矩我们选择start数最多的准没错什么start数不放心怕被挂马ok我们再去镜像仓库看一下 补充 其实看这些镜像的描述也能看出一些区别来的比如 ygqygq2/fastdfs-nginx该镜像是整合了 Nginx 的 fastdfs那么新的问题来了为什么要整合 Nginx因为对于 fastdfs 来说安装后只能在本机访问… 我上传文件肯定是为了能够访问的呀所以为了提供 web 访问那么就需要集成 Nginx 了但是比如就是想自己单独搞 Nginx… 那么肯定就不会选了嘛season/fastdfs 镜像相对纯净些本文就是基于 season/fastdfs 镜像的后面也附带配置 Nginx… 2、安装镜像 执行命令 docker pull season/fastdfs:1.2之所以选择 1.2 版本防止再次更新后本文不适合 latest 版本执行截图如下 3、创建容器并挂载目录 在创建容器之前我们先简单说一下 FastDFSFastDFS 系统有三个角色 跟踪服务器(Tracker Server)跟踪服务器主要做调度工作起到均衡的作用负责管理所有的 storage server和 group每个 storage 在启动后会连接 Tracker告知自己所属 group 等信息并保持周期性心跳。存储服务器(Storage Server)存储服务器主要提供容量和备份服务以 group 为单位每个 group 内可以有多台 storage server数据互为备份。客户端(Client)上传下载数据的服务器也就是我们自己的项目所部署在的服务器。 说到这就是想告诉小伙伴接下来我们可能创建 跟踪服务器容器、存储服务器容器、客户端容器 这三个容器… 3.1、创建出所需要的目录 我们先把需要的一些目录创建出来(数据目录、数据存储目录等)执行命令 mkdir -p /usr/local/server/fastdfs/trakcer/data mkdir -p /usr/local/server/fastdfs/storage/data mkdir -p /usr/local/server/fastdfs/storage/path3.2、创建trakcer容器跟踪服务器容器 执行命令 docker run -id --name tracker \ -p 22122:22122 \ --restartalways --net host \ -v /usr/local/server/fastdfs/tracker/data:/fastdfs/tracker/data \ season/fastdfs:1.2 tracker再唠叨一下上方命令 -d让容器在后台运行-p指定容器内部使用的网络端口映射到我们使用的主机上–name指定容器创建的名称-v容器跟宿主机之间的挂载目录 3.3、创建storage容器存储服务器容器 执行命令非最终执行命令请修改为自己的ip地址 docker run -id --name storage \ --restartalways --net host \ -v /usr/local/server/fastdfs/data/storage:/fastdfs/store_path \ -e TRACKER_SERVER10.211.55.4:22122 \ season/fastdfs:1.2 storage3.4、client测试 两个容器创建完之后但此时两个容器其实并没有关联起来我们进入tracker容器通过client.conf测试一下 docker exec -it tracker bash cd /etc/fdfs/ ls cat client.conf输出的 client.conf 都是默认配置我们可以找到其中的 track_server 地址 尝试执行一下连接 fdfs_monitor client.conf然后会得到如下内容 ERROR - file: ../common/connection_pool.c, line: 84, connect to 192.168.209.121:22122 fail, errno: 110, error info: Connection timed out也就是在没有修改client配置之前默认 tracker 是去连接 192.168.209.121 地址的那么接下来就是需要去配置client配置文件了。 3.4、修改client.conf配置文件 通过 docker exec -it tracker bash 进入 tracker 容器后不能使用 vi vim 命令所以干脆将 client.conf 配置文件复制出来在宿主机修改完再粘贴回去。 执行命令 docker cp trakcer:/etc/fdfs/client.conf /usr/local/server/fastdfs/我们通过 docker 指令将配置文件复制到 /usr/local/server/fastdfs/ 目录。 我们编辑这个文件修改 tracker_url 地址vi client.conf 修改后保存然后将修改后的文件替换回去。指令命令 docker cp /usr/local/server/fastdfs/client.conf tracker:/etc/fdfs 至此配置文件修改完了接下来我们创建文件上传测试一下。 4、文件上传测试 执行命令进入 tracker 容器中 docker exec -it tracker bash随便创建一个 txt 文件 echo niceyoo niceyoo.txt然后通过 fdfs_upload_file 命令将 niceyoo.txt 文件上传至服务器 fdfs_upload_file /etc/fdfs/client.conf niceyoo.txt如果此时报了如下错误 那么就创建一下这个路径没有的跳过 mkdir -p /home/yuqing/fastdfs创建目录后重新尝试提交 我们复制出这个文件名来group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt这个名称后面有用将用作后面配置nginx时配置访问文件路径。 因为我们之前挂载了宿主机的目录我们去 cd /usr/local/server/fastdfs 看一下 cd /usr/local/server/fastdfs/data/storage/data ls输出内容如下 5、配置Nginx 前面的补充已经提到了默认上传的文件是只能在本机访问的当然这样肯定是不行的所以我们需要配置一下Nginx 来帮我们实现 Web 访问的效果。 创建nginx目录 mkdir -p /usr/local/server/fastdfs/nginx/将storage容器中的nginx配置文件复制出来 docker cp storage:/etc/nginx/conf/nginx.conf /usr/local/server/fastdfs/nginx/修改nginx中的配置 vi /usr/local/server/fastdfs/nginx/nginx.conf找到local节点修改为 location / {root /fastdfs/store_path/data;ngx_fastdfs_module;}相关截图如下 接下来就是创建nginx容器并指向刚刚的配置文件了。 没有安装过nginx的小伙伴同样可以执行如下指令默认会帮你拉取镜像然后安装的。 注意请修改ip地址后再执行 docker run -id --name fastdfs_nginx \ --restartalways \ -v /usr/local/server/fastdfs/data/storage:/fastdfs/store_path \ -v /usr/local/server/fastdfs/nginx/nginx.conf:/etc/nginx/conf/nginx.conf \ -p 8888:80 \ -e TRACKER_SERVER10.211.55.4:22122 \ season/fastdfs:1.2 nginx至此我们查看一下目前创建以及启动的容器 我们测试一下之前上传的文件 group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt执行如下命令 curl -i http://127.0.0.1:8888/group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt执行结果 至此整个过程就搭建成功了我们通过浏览器访问一下 搭建完成怎么在项目当中使用呢 SpringBoot集成FastDFS依赖实现文件上传 你知道的越多不知道的就越多欢迎关注我的微信公众号niceyoo

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

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

相关文章

仿muduo库One Thread One Loop主从Reactor模型实践——介绍 - 实践

仿muduo库One Thread One Loop主从Reactor模型实践——介绍 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

2025 年国内电容品牌最新推荐排行榜:固态电容,高压电容,安规电容,CBB电容,超级电容等多品类优质厂商权威盘点,助力企业精准选型

在当前电子产业高速发展的背景下,电容作为核心基础元件,广泛应用于消费电子、工业控制、新能源汽车、储能等众多领域,其品质与性能直接影响终端产品的稳定性和使用寿命。然而,随着电容市场需求激增,各类厂商纷纷涌…

【光照】[PBR][法线分布]GGX实现方法对比

GGX是Unity URP渲染管线中的核心法线分布函数,由Walter等人在2007年提出。相比传统分布函数,GGX具有长尾特性,能更真实地模拟材质高光衰减,同时保证能量守恒。URP通过BRDF.hlsl实现了GGX分布及其各向异性版本,支持…

【GitHub每日速递 250929】告别手动查资料!这两个开源项目(17.8k+星)让 AI 帮你做深度研究,报告自动生成

原文:https://mp.weixin.qq.com/s/uxRt8xAdWX59n3RkoDJ5Vg AI + 搜索引擎 = 无敌研究助手?这个开源项目让深度调研效率翻倍项目概述 Open Deep Research 是一个基于 AI 的研究助手,通过结合搜索引擎、网页抓取和大型…

企业门户网站开发背景韩国小游戏网站

不好意思,我要放大招了! 在今天的杭州云栖大会上,阿里巴巴首次公布人工智能调用规模: 每天调用超 1万亿 次 服务全球 10亿 人 日处理图像 10亿 张 视频 120万 小时 语音 55万 小时 自然语言 5千亿 句 在AI芯片、AI云服务、AI算…

订单模块

首先,订单模块是家政项目的 “核心枢纽”—— 它衔接了用户端(下单需求)、服务端(服务信息)、支付模块(资金流转)和优惠券模块(权益核销),核心目标是管理订单从创建到完成 / 取消的全生命周期,确保流程合规…

网站数据库是什么dz网站模板

在Spring框架中,TransactionSynchronizationManager扮演着事务同步管理的核心角色,它不仅负责跟踪当前活动事务的状态,还提供了在事务生命周期中注册回调方法的能力,使得开发者能够在事务开始、提交、回滚等关键时刻执行自定义逻辑…

PS中如何让文字中两行文字实现左对齐且中间部分文字对齐

背景 见图片:如果仅靠添加空格很难实现,我当时就是空格空格对齐(结果被T了) ============================================================================================== 前面的两个还好,因为前面文字一样…

通王网站内容管理系统安徽建站系统

继续梳理以太网的DMA描述符。 以太网DAM描述符的结构 有两种结构,链式结构和环形结构。 常用的是链式结构。 标准库中,关于DMA描述符的数据结构 以gd32f4xx_enet.c为例。 先说发送描述符。 系统分配了5个发送描述符。每个描述符对应的缓冲区大小为152…

手写MyBatis第78弹:装饰器模式在MyBatis二级缓存中的应用:从LRU到防击穿的全方案实现 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

前端获取接口材料流程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Lucene 8.7.0 版本中dvd、dvm文件详解 - 教程

Lucene 8.7.0 版本中dvd、dvm文件详解 - 教程2025-09-29 08:12 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

APEX实战第5篇:利用APEX程序直观体验向量近似检索能力

APEX实战第5篇:利用APEX程序直观体验向量近似检索能力2025-09-29 08:14 AlfredZhao 阅读(0) 评论(0) 收藏 举报在圈内朋友看来,Oracle 数据库的 多模能力 已经不是什么新鲜话题。它不仅在关系型数据管理方面独树…

告别复制粘贴!Chat2File-DeepSeek 让 DeepSeek 对话成果直接变“成品” - 指南

告别复制粘贴!Chat2File-DeepSeek 让 DeepSeek 对话成果直接变“成品” - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-f…

详解 PHP 中的命名空间 Namespace 与 PSR4 自动加载

详解 PHP 中的命名空间 Namespace 与 PSR4 自动加载 随着 PHP 项目规模增长,文件管理和类加载问题逐渐凸显:散乱的目录结构、频繁的 require_once 调用、难以维护的类依赖关系。本文通过 namespace 和自动加载技术,…

html5购物网站模板艾佳工业设计

动态调用的作用 类似于其他语言的反射能够开发框架性代码 Call调用语法 (bool success, bytes data) <address>.call(bytes calldata)call是address的方法call返回值(bool success, bytes data)忽视返回值success&#xff0c;会造成严重问题 calldata的结构 call的…

构建易受攻击的AWS DevOps环境:CloudGoat场景实践

本文详细介绍如何在CloudGoat中构建易受攻击的AWS DevOps环境,包含完整的攻击路径分析,从初始权限提升到供应链安全漏洞利用,展示了真实的云安全测试场景。构建易受攻击的AWS DevOps环境作为CloudGoat场景 CloudGoa…

摩尔线程88天过会,过会当天提交注册:看懂这3个关键,才算懂国产GPU的“生存逻辑”

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087摩尔线程88天冲刺上市:看懂这3个关键,才算懂国产GPU的“生存逻辑…

2025最新四面刨厂家权威推荐排行榜:四面刨厂家实力品牌测评,含定制,高速,重型四面刨优选指南

四面刨作为竹木加工的核心设备,其精度与稳定性直接决定产品合格率与生产效率。当前市场中,既有深耕多年的老牌企业,也涌现出一批技术创新的新锐品牌,但同时存在设备精度参差、定制能力不足、售后响应滞后等问题 —…

Java之泛型使用教程

下面我将为你编写一个使用泛型类的示例代码,这个示例实现了一个通用的"配对"(Pair)类,可以存储两个相同或不同类型的值,并提供基本的操作方法。 这个示例展示了泛型类的几个重要特性:多类型参数:Pair…