转载:https://www.cnblogs.com/q149072205/p/12851667.html
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 内容如下
<service> <id>minio</id> <name>MinIO Service</name> <description>MinIO is a High Performance Object Storage</description> <logpath>D:miniologs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>D:minio un.bat</executable> </service>
新建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版本的?!界面都不一样。
这个是由于版本的问题。
我目前使用的版本是:
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.2.1</version> </dependency>