1.下载安装地址(我下的是windows版本):https://min.io/download#/windows
2.新建一个目录存放minio文件,我建的文件名叫 D:\minioData,CMD进入刚刚下载的minio.exe所在目录,
直接在cmd下运行:minio.exe server D:\minioData
启动成功以后如下图(启动就是这么简单),最后红色字提示修改access Key和Secret Key (默认全是minioadmin)
3.浏览器打开 http://127.0.0.1:9000/ 输入access Key和Secret Key (全是minioadmin)
登录进来是这样的,啥都没有。
4.上传文件,先要新建一个bucket (中文是桶的意思,我们理解为文件夹),点右下角有一个+号,选Create bucket ,
再上传一个文件,如下图,表示成功了。
5.用java测试上传功能:
代码如下:
import io.minio.MinioClient;
import io.minio.ObjectStat;
import io.minio.errors.MinioException;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
public class Program {
public static void main(String[] args){
System.out.println("hello java");
try {
test1();
}catch (Exception e){
System.out.println("test1错误: " + e);
}
}
public static void test1()throws NoSuchAlgorithmException, IOException, InvalidKeyException, XmlPullParserException {
try {
// 参数为:图床,账号,密码
MinioClient minioClient = new MinioClient("http://127.0.0.1:9000", "minioadmin", "minioadmin");
//boolean v=minioClient.bucketExists("test1");
// 检查文件夹是否已经存在
boolean isExist = minioClient.bucketExists("test1");
if(isExist) {
System.out.println("test1文件夹已经存在了");
}
else {
// 创建一个名为managertest的文件夹
System.out.println("test1文件夹还没存在");
minioClient.makeBucket("test1");
}
// 使用putObject上传一个文件到文件夹中。
//参数为:文件夹,要存成的名字,要存的文件 (如果文件名相同将会复盖原来的文件)
minioClient.putObject("test1","tujpg2.png", "E:/Convert/testAllFile/tujpg2.jpg");
System.out.println("上传成功了");
//使用getObject获取一个文件
// 调用statObject()来判断对象是否存在。
ObjectStat file=minioClient.statObject("test1", "tujpg2.png");
System.out.println("文件名:"+file.name()+",文件大小:"+file.length());
// 获取1.png的流并保存到photo.png文件中。
//参数为:文件夹,要获得的文件,要写入的文件
minioClient.getObject("test1", "tujpg2.png", "E:/Convert/testAllFile/tujpg_minio.png");
System.out.println("下载成功了");
} catch(MinioException e) {
System.out.println("错误: " + e);
}
}
}
6.运行以后,test是开始手动点右下角创建的,test1是代码创建的,里面的文件也是代码上传的。如下图:
想要预览,点文件右边的三点。再点中间的按钮,就可查看,
如果想要分享给别人,点第一个按钮,生成一个连接可以复制粘贴发给别人查看
浏览器直接 http://127.0.0.1:9000/test1/tujpg2.png 访问会跳到登录页,因为没有登录,想要实现这个功能的话
点左边文件夹名上会出现三点,点三个点。再选Edit policy
选择Read and Write 点Add
浏览器输入:http://127.0.0.1:9000/test1/tujpg2.png 就不需要权限可以直接在浏览器访问图片了,如下图
windows minio 修改密码修改 MINIO_ACCESS_KEY
使用自己的minio的密码启动,新建run.bat文件代码如下
set MINIO_ACCESS_KEY=admin
set MINIO_SECRET_KEY=12345678
minio.exe server D:\minioData
修改老的minio密码,新建runEditPassword.bat代码如下,运行runEditPassword.bat以后再运行run.bat文件
set MINIO_ACCESS_KEY=admin
set MINIO_SECRET_KEY=11111111
set MINIO_ACCESS_KEY_OLD=admin
set MINIO_SECRET_KEY_OLD=12345678
minio.exe server D:\minioData
Minio创建BucketName 报错,提示The specified bucket is not valid。
这个应该是Minio 做了限制,不允许bucketName有大写字母、下划线、特殊字符 如@#等。
把bucketName换成小写、数字或者小写+数字组合就可以了。
minio开机启动,先看一下文件内容如下:
添加服务
需要借助"Windows Service Wrapper"小工具,下载地址: http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe
把winsw-1.18-bin.exe改名为minio-service.exe
新建 minio-service.xml 内容如下
minio
MinIO Service
MinIO is a High Performance Object Storage
D:\minio\logs
10240
8
D:\minio\run.bat
新建run.bat文件,内容如下:
set MINIO_ACCESS_KEY=admin
set MINIO_SECRET_KEY=12345678
minio.exe server D:\minioData
带密码带自己定义端口9999启动命令:
set MINIO_ACCESS_KEY=admin
set MINIO_SECRET_KEY=12345678
minio.exe server --address :9999 D:\minioData
用来把minio.exe当成服务开机启动,以管理员身份运行cmd,使用安装服务命令如下:
安装服务 minio-service.exe install (cmd下执行这行)
卸载服务 minio-service.exe uninstall
进入系统服务,启动服务即可
PS:很多人问我,为什么我登进去是 minio console版本的?!界面都不一样。
这个是由于版本的问题。
我目前使用的版本是:
io.minio minio 8.2.1