【补充】文件存储方案
【补充】视频托管
-
在处理静态文件(如视频、图片、压缩文件等)时
- 通常的做法是将这些文件从项目的媒体文件夹(media folder)中分离出来
- 以避免项目变得庞大且难以管理。
- 取而代之的是使用第三方的文件托管平台来存储这些文件。
-
以下是一些常见的第三方文件存储平台选项:
-
七牛云:
- 七牛云存储提供了可靠、可扩展且经济高效的云端对象存储服务,能够满足各种规模的文件存储需求。
-
阿里云 OSS 存储:
- 阿里云对象存储服务(Object Storage Service,简称 OSS)为您提供了海量、安全、低成本、高可靠的云存储服务,支持存储和处理大规模的非结构化数据。
-
-
除了使用第三方存储平台,您还可以选择在自己公司内部搭建文件存储系统。
-
下面是一些常见的文件存储搭建选项:
-
Ceph:
-
Ceph 是一个可靠的、高性能的分布式文件系统,具备自我修复、自动重平衡和数据备份等功能。
-
它适用于大规模的分布式存储环境。
-
-
Minio:
-
Minio 是一个开源的对象存储服务器,兼容 Amazon S3 接口。
-
它具有分布式、高性能和易于部署的特点,是搭建私有对象存储服务的不错选择。
-
-
FastDFS:
- FastDFS 是一个轻量级的分布式文件系统,特别适用于存储大规模的较小文件。
- 它采用高可用设计,并提供了快速的文件上传和下载服务。
- FastDFS:https://zhuanlan.zhihu.com/p/372286804
-
【一】使用七牛云托管
【1】注册七牛云账号:
- 首先,您需要访问七牛云官方网站并注册一个账号。提供必要的信息完成注册流程后,您将获得一个七牛云账号。
- 官网
【2】选择文件存储服务 - Kodo:
- 登录后,在七牛云控制台中,选择文件存储服务,即 Kodo。Kodo 是七牛云提供的对象存储服务,可用于存储各种类型的文件,包括视频、图片和其他静态文件。
- 网址
【3】创建空间:
- 在 Kodo 服务中,您需要创建一个空间(Bucket),这是存储文件的地方。每个空间相互隔离,您可以为不同的项目、应用或者不同的使用场景创建独立的空间。点击控制台上的“创建空间”按钮,按照提示输入空间名称、存储区域等相关信息,然后确认创建。
【4】手动上传视频:
- 在成功创建空间后,您可以通过七牛云提供的上传功能手动上传视频文件。点击空间管理中的上传按钮,在弹出的文件选择对话框中选择您要上传的视频文件,并按照提示完成上传流程。
【二】Docker部署Minio容器
【1】Minio容器介绍
-
Minio是一个开源的对象存储服务器,使用Apache License v2.0开源协议。
- 它提供了一个存储桶(bucket)的概念,类似于文件系统中的目录,用于存储对象文件。
- Minio与亚马逊S3云存储服务兼容,使得它可以轻松地与现有的S3应用程序集成。
-
Minio的优势在于其简洁和高性能。
- 它被设计成轻量级的,并且具有低延迟和高吞吐量的特点。
- 这使得Minio非常适合存储大容量的非结构化数据,例如图像、视频、日志文件、备份数据以及容器或虚拟机镜像等。
- 而且,Minio没有任何限制,一个对象文件可以是任意大小,从几KB到最大5TB不等。
-
Minio通过使用分布式架构来实现高可用性和冗余备份。
- 您可以配置多个Minio服务器,形成一个分布式集群来确保数据的安全性和可靠性。
- 此外,Minio还支持数据加密和访问控制,使您能够根据需要对数据进行保护和管理。
-
总之,Minio是一个功能强大且易于使用的对象存储服务器,适用于各种场景,包括数据存储、数据备份、容器存储等。
- 通过与亚马逊S3兼容的API,Minio能够轻松地与现有的应用程序集成,为您提供方便和高效的存储解决方案。
【2】寻找Minio镜像
【3】下载Minio镜像
(1)下载最新版本镜像
下载最新版Minio镜像
- 其实此命令就等同于
(2)下载指定版本镜像
下载指定版本的Minio镜像 (xxx指具体版本号)
(3)下载过程
- 镜像下载完成
-
查看镜像
【4】创建目录
- 一个用来存放配置,一个用来存储上传文件的目录
- 启动前需要先创建Minio外部挂载的配置文件( /home/minio/config)和存储上传文件的目录( /home/minio/data)
- 查看是否存在
【5】创建Minio容器并运行
- 多行模式
- 9090端口指的是minio的客户端端口
- MINIO_ACCESS_KEY :账号
- MINIO_SECRET_KEY :密码(账号长度必须大于等于5,密码长度必须大于等于8位)
- 配置文件路径要和上面的自定义路径一样
- 存储文件路径要和上面的自定义路径一样
- 单行模式
【6】操作Minio
-
登陆用户名:dream
-
登陆密码:dream521
(1)登录页面
(2)登陆成功
(3)创建用户
- 点击 Create User
- 输入用户名和密码
- 创建成功
(4)创建 Create Group
- 点击创建组
- 输入组的名字和组成员
- 创建完成
(5)创建accessKey和secretKey
- 点击 Create access key
- 会自动生成
- 点击Download for import
- 文件名:credentials.json
- 文件内容
- 以上内容是自动生成的,我填文字的部分都是自动生成的
- IP:自己的服务器IP
- 秘钥:上面自动生成的
- 秘钥:上面自动生成的
(6)创建桶(Bucket)
- 点击 Create Bucket
- 输入桶的名字
- 创建成功
(7)上传文件
- 查看已创建的桶
- 进入到已创建的桶内
- 点击 Upload
- 可以选择单文件/文件夹
- 上传文件成功
- 可以在这里查看桶的容量使用情况
【7】SDK操作
(1)相关链接
(2)Java 操作上传文件
- maven依赖
- 测试文件上传
- 文件上传成功展示
(3)Python 操作上传文件
[1]最低要求
- Python 3.7 或更高版本。
[2]安装第三方库
- 下载源码
[3]快速入门示例
- 此示例程序连接到与 S3 兼容的对象存储服务器,在该服务器上创建一个存储桶,然后将文件上传到该存储桶。
- 您需要以下项目才能连接到与 S3 兼容的对象存储服务器:
参数 | 描述 |
---|---|
端点 | 指向 S3 服务的网址。 |
访问密钥 | S3 服务中账户的访问密钥(也称为用户 ID)。 |
密钥 | S3 服务中账户的私有密钥(也称为密码)。 |
-
此示例使用 MinIO 服务器游乐场 https://play.min.io。
-
请随意使用此服务进行测试和开发。
-
file_uploader.py
- 运行文件上传程序
[4]自己测试案例
- 安装第三方库
- 编写程序
- 运行显示结果
- 桶内数据已上传
- 并且可以通过返回的链接下载对应的文件
【三】使用Python代码调用Minio SDK 上传文件
【1】代码封装
【二】腾讯云域名解析七牛云储存
【1】进入七牛云空间管理
- 点击操作中的“域名”
【2】绑定域名
- 域名配置这里输入您要绑定的域名
- 建议是3级域名
- 比如:huoyanshan.qiniou.26a.top
- 项目.储存方.主域名
- 输入后下拉到最下面,然后点击创建
【4】验证域名归属权
(1)域名解析
- 然后进入腾讯域名域名管理中心,我的域名解析页面
- https://console.cloud.tencent.com/cns
(2)点击添加记录
- 根据七牛云要求的验证记录值进行添加解析并验证
- 务必记录类型选择TXT
(3)开始验证
- 添加完3分钟左右,可以尝试在七牛云后台点击验证
- 验证成功以后根据提示配置CNAME
【5】配置CNAME
(1)查看七牛云
(2)腾讯云解析
- 按七牛云给的CNAME值解析CNAME
- 解析成功3分钟左右即可配置成功
【5】SSL配置
(1)七牛云域名管理
- 进入七牛云-控制台-CND -域名管理
- 选择刚配置的域名
- 点击操作中的配置
(2)HTTPS配置
- 下拉找到HTTPS配置
- 然后点击修改配置,打开HTTPS配置开关
(3)申请证书
- 然后建议选择免费证书,然后同意七牛云申请免费证书-点击确认
- 如果您业务需求比较高,建议购买收费商业证书上传
- 确认后需要输入密码,请输入密码
- 输入密码后大约15分钟即可配置完成。
- 后续需要停用HTTPS服务请点击这里
【补充】域名备案
【1】将项目放到互联网上给别人使用:
- 在将项目放到互联网上之前,您需要确保您的项目已经完成开发并经过测试,以确保它的正常运行和稳定性。
- 接下来,您需要选择一个服务器提供商或云服务提供商来托管您的项目。这些服务商通常提供各种不同的服务器类型和价格方案供您选择。
- 根据您的项目需求和预算,选择适合您的服务器,并将您的项目文件上传至服务器。
- 您还需要配置服务器以使您的项目正确运行,并确保服务器具备足够的安全性,例如设置防火墙、身份验证等。
【2】购买域名:
- 域名是您在互联网上标识和访问您的项目的唯一名称。购买域名的过程比较简单,您可以通过许多域名注册商进行购买。
- 选择一个可信赖和信誉良好的域名注册商,在其网站上搜索您所需的域名,看是否可用。
- 如果您的域名可用,您可以按照注册商的指引填写必要的信息,并支付相关费用即可完成购买。
【3】备案工信部:
- 备案是指向工业和信息化部(通常称为工信部)提交必要的信息,以便在中国大陆地区部署网站或应用程序。备案过程是因符合相关法规而设置的。
- 在备案之前,您需要确保您已经购买了一个中国域名(以.cn、.com.cn、.net.cn等后缀结尾的域名)。
- 您需要联系您选择的域名注册商,了解他们是否能够提供备案服务,并收集必要的备案材料,例如公司营业执照、服务器租赁合同等。
- 将备案材料提交给域名注册商进行审核,注册商会协助您完成备案申请,将材料提交给工信部审批。
- 一旦备案审核通过,您将获得一个备案号码,并可以在中国大陆地区正式部署您的项目。
【4】项目在 1**.28.11.11 :
- 您提到的 "1**.28.11.11" 可能是指您的项目所在的服务器 IP 地址。
- 通过该 IP 地址,您可以访问、管理和配置您的项目,例如上传文件、设置数据库等。具体的操作方法取决于你使用的服务器和操作系统。
【5】域名解析:
- 域名解析是将域名转换为IP地址的过程,使得用户可以通过域名访问您的项目。
- 您需要在域名注册商提供的控制面板或管理界面中,进行域名解析的相关设置,将您的域名指向您的服务器 IP 地址。
- 域名解析通常包括添加A记录或CNAME记录,具体方法和步骤可能因不同的域名注册商而有所不同。
- 域名解析生效过程中可能需要一些时间(通常为数小时),这是因为DNS解析需要时间来传播更新。
__EOF__

本文作者:Chimengmeng
本文链接:https://www.cnblogs.com/dream-ze/p/17642793.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/dream-ze/p/17642793.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17642793.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码