前言
MinIO是什么?
官方解释:MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。对于对象存储服务我们了解过阿里云OSS,这个与之同理。它适合存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
参考:官方文档
MinIO的优点:
1.前端直传Minio,可减少与后端交互所造成的性能浪费
2.可对接多种后端存储
3.读写速率快
一、MinIO下载与启动
从官网中
win下载地址:MinIO | Code and downloads to create high performance object storage
服务端文件:minio.exe 用于接收文件信息
客户端文件:mac.exe 用于上传文件 ,如果用程序代码操作文件存储,只启动服务端就ok
创建minio目录
下载之前先创建minio目录去存放minIO相关的文件:
根据自己想要存放的位置,创建minIO的文件夹,存放minIO相关的文件,如下:(目录名称不建议含有中文)
- bin目录存放刚刚下载的mc.exe 以及minio.exe 文件
- data,存放相关数据文件
- log,存储相关日志
启动minio服务器
!!注意注意!!
通常启动都是直接双击.exe文件,对于minio不能这也操作,必须用命令进行启动
以 管理员权限 打开cmd窗口,进入到minio.exe所在bin目录
( dir 命令 类似于 ls 命令)
1、设置用户密码并启动
-
设置用户名
setx MINIO_ROOT_USER name
-
设置登录密码
setx MINIO_ROOT_PASSWORD password
-
启动Minio服务
.\minio.exe server E:\minio\data --console-address "127.0.0.1:9000" --address "127.0.0.1:9005"
- E:\minio\data: 指定数据存放路径 填自己的目录路径
- 9005是控制台端口,9000是服务的端口
2、.bat启动方式
从以上的方式会出现一个比较麻烦的操作,就是每次都要以管理员身份运行cmd窗口,进行到指定bin路径启动minio,因此将整个启动过程的命令封装成一个.bat文件,想要启动时就双击该文件即可自动启动,文件内容如下:
(设置用户密码步骤如上)
.bat文件主要有两条命令:
- cd E:\minio\bin # minio.exe所在的文件地址
- minio.exe server E:\minio\data --console-address “:9005”
pause #启动服务器(E:\minio\data 为存储数据的地址) (“:9005” 为客户端的端口,可以自己设置 )
@echo off
echo.
echo [信息] 运行MinIO文服务器。
echo.
title minio
cd %~dp0
cd E:\minio\bin #minio.exe所在的文件地址
#启动服务器(E:\minio\data 为存储数据的地址) (":9005" 为客户端的端口 )
minio.exe server E:\minio\data --console-address ":9005"
pause
双击后:
二、访问minio
- 访问minio服务器(注意每次访问之间要确认minio有没有启动上一步操作)
地址:http://127.0.0.1:9000/
输入刚刚上一步中WebUI的用户密码即可
- 进入后显示如下,则正常启动
- 了解到minIO与阿里云对象存储OSS一样都是由桶(bucket)组成的,相当于是文件夹,因此应该先要创建桶bucket
点击Create a Bucke
1、创建并使用桶
- 创建完成后点击对象浏览器——Object Browser
- 创建桶后试着可以直接上传文件
- 点击文件还能进行共享/分享
- 直接复制链接进行浏览器访问
!!可以进行直接访问 Minio的ip+端口/桶名称/文件名 就可以忽视访问时效问题,但是这个方式需要桶开放权限
2、Buckets访问权限
- 访问路径:
localhost:9005:API的地址
http://localhost:9005/桶名字/java.png
http://localhost:9005/studyphoto-oss/1.png
- 如果没有权限的话会访问不到,此时要新增桶的权限
- 再次浏览器访问,如下,成功访问