在第一次使用 MinIO
来实现文件上传时,发现MinIO
是真的很好用,简单便利。然后用了一段时间后发现一个对我来说很大影响的问题,MinIO
的文件访问URL 有限期之后 7 天,意味着七天之后就不能访问文件了,这对我的项目有很大的影响。自己傻傻的百度了一堆修改访问策略为永久的方法,而且按照其他人的博客修改了访问策略之后也不能马上知道这个方法是否有效,因此每次都是等一段时间后再看看URL 是否还有效,就这样反复折磨了一个多月,最后还是出现过期情况。一度想过要不算了吧,不用 MinIO
了,但是自己又懒得去找其他框架再修改代码。后来终于受不了了,打算找个教程视频看看别人是如何处理这个问题的。看了很多视频还是没有人谈到这个问题,基本都是说 MinIO
的优势,怎么上传和下载的。但是我需要的是能让项目永久访问文件,比如头像,这种情况我并不像下载文件到本地。不知道怎么的,我就想到了这个问题的解决方案,然后 MinIO
真好用。啧啧啧
我原来的思路是将文件上传 MinIO
服务器,上传成功后保存文件访问 URL
到数据库中,这样当我需要用到这个文件(头像)时,就可以直接读取数据库中的 URL
。
解决思路就是修改保存到数据库的数据为文件名,当需要用到这个文件(头像)时,从数据库中读取到文件名,然后再通过 MinIO
提供的 api
接口获取到最新的 URL
地址。
总的来说就是每次用到 URL
都为最新的,这样就不需要考虑它的有效期问题了。
我真是个铁憨憨,这么简单都想不到。
Windows系统安装使用Windows 下载地址通过 Windows 的 cmd 窗口安装 MinIO打开 Windows 的 cmd 窗口,并 cd 到 MinIO 安装文件所在目录。运行以下命令:.\minio.exe server .\ --console-address ":9000" --address ":9090"9000 表示 ui 端口9090 表示 接口端口...
导航前言1.下载MinIO Client2.运行MinIO Client3.添加一个云存储服务4.验证5.policy命令 - 管理存储桶策略
minio分享文件的链接,最多支持分享七天
通过 MinIO客户端 管理存储桶策略的方式实现文件链接永久有效
1.下载MinIO Client
采用 Docker 方式 安装
拉取Docker稳定版镜像
docker pull minio/mc
2.运行MinIO Client
docker run -it --entrypoint=/bin/sh mini
MinIO文件服务器是一个轻量级的对象存储服务器,可以在本地计算机或云环境中运行。你可以使用MinIO来存储和访问大量的数据。根据不同的操作系统和环境,安装和配置MinIO有几种不同的方法。
对于Windows操作系统,你可以在Windows PowerShell中执行以下命令来安装和配置MinIO:
setx MINIO_ROOT_USER admin
Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "C:\minio.exe"
setx MINIO_ROOT_PASSWORD password
C:\minio.exe server F:\Data --console-address ":9001"
对于Linux操作系统,你可以在命令行中执行以下命令来安装和配置MinIO:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server ./minio --console-address ":9001"
对于MacOS操作系统,你可以在命令行中执行以下命令来安装和配置MinIO:
wget https://dl.min.io/server/minio/release/darwin-amd64/minio
chmod +x minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server F:\Data --console-address ":9001"
另一种推荐的方法是使用Docker来安装和配置MinIO。你可以使用以下命令来下载并启动MinIO容器:
docker-compose up -d
这是一个示例的docker-compose.yml文件的内容:
version: '3'
services:
minio:
image: minio/minio
hostname: "minio"
ports:
- "9000:9000" # api 端口
- "9001:9001" # 控制台端口
environment:
MINIO_ACCESS_KEY: admin #管理后台用户名
MINIO_SECRET_KEY: password #管理后台密码,最小8个字符
volumes:
- /home/deepsoft/minio/data:/data #映射当前目录下的data目录至容器内/data目录
- /home/deepsoft/minio/config:/root/.minio/ #映射配置目录
command: server --console-address ':9001' /data #指定容器中的目录 /data
privileged: true
restart: always
logging:
options:
max-size: "50M" # 最大文件上传限制
max-file: "10"
driver: json-file
networks:
- minio
这些是安装和配置MinIO文件服务器的不同方法和步骤,你可以根据你的操作系统和环境选择合适的方法来进行安装。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [MinIO分布式文件服务器搭建与入门](https://blog.csdn.net/lemon_TT/article/details/124675675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [第03讲:MinIO分布式文件服务器](https://blog.csdn.net/qzc70919700/article/details/129988299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]