Windows环境使用Minio如此简单

Windows环境使用Minio如此简单

  • Windows环境下使用Minio对象存储真的好简单
    • 1、下载及安装
      • 1.1、运行
      • 1.2、配置
        • 1.2.1、创建桶
      • 1.3、Minio支持多种语言的SDK
        • 1.3.1、Java中使用

Windows环境下使用Minio对象存储真的好简单

很久很久以前,开发个Web程序,上传文件一直是在单个服务器上。后来,微服务流行后,再用单个服务器存储文件(配置虚拟目录方式)或者配置个FTP服务端再在程序中进行ftp的上传,总感觉没那么优雅~~-_-! 有一天Minio出现了,完美解决分布式存储文件存储的问题,而且足够轻量。

1、下载及安装

官网地址:https://min.io/download#/windows
分别下载服务端、客户端:
分别下载服务端和客户端

1.1、运行

1、在D盘建立文件夹Minio(d:/Minio),创建子文件夹进行存储(d:/Minio/MinioData)
2、把下载的服务端:minio.exe、客户端:mc.exe,拷贝到d:/Minio下
3、按住Shift再点击 鼠标右键,打开PowerShell 或Terminal

  • PowerShell运行:.\minio.exe server d:\Minio\MinioData
    4、Terminal运行:minio.exe server d:\Minio\MinioData
    运行minio

1.2、配置

点击:http://127.0.0.1:9000,或者直接浏览器输入打开网页,进入登录界面

  • 默认账号:minioadmin
  • 默认密码:minioadmin
    在这里插入图片描述
1.2.1、创建桶

在这里插入图片描述
点击“Create Bucket +”按钮,设置桶名并创建
如需要特定某个用户访问,可以点击 “Identity” -> “Create User +”,创建用户
在这里插入图片描述
使用API接入Minio需要创建AccessKey,点击“Access Keys” -> “Create access key +”,进行创建,默认随机一对,也可自行设置
在这里插入图片描述

如果嫌每次手动运行minio.exe麻烦,也可以花几分钟做成Windows服务,开机自动运行

  • 下载WinSW,下载地址:https://github.com/winsw/winsw/releases
    在这里插入图片描述
  • 拷贝到D:\Minio\,重命名成你想要的服务,如:minio-server.exe
  • 同目录下创建配置文件,minio-server.xml(注意需要同名)
  • 配置minio-server.xml文件
<service><id>minio-server</id><name>minio-server</name><!-- 如果不能启动,可将description中的中文去除 --><description>Minio文件存储服务</description><startmode>Automatic</startmode><!-- 也可以设置环境变量 --><env name="HOME" value="%BASE%"/><executable>%BASE%\minio.exe</executable><arguments>server "%BASE%\MinioData"</arguments><!-- 配置日志 --><logpath>%BASE%\logs</logpath><log mode="roll-by-size-time"><sizeThreshold>10240</sizeThreshold><pattern>yyyyMMdd</pattern><autoRollAtTime>00:00:00</autoRollAtTime><zipOlderThanNumDays>5</zipOlderThanNumDays><zipDateFormat>yyyyMMdd</zipDateFormat></log>
</service>

就可以安装成服务了

  • 安装服务:minio-server.exe install

  • 启动服务:minio-server.exe start

  • 停止服务:minio-server.exe stop

  • 卸载服务:minio-server.exe uninstall

  • 如果想改登录账号及密码,可以新建一个bat文件,内容为:

set MINIO_ACCESS_KEY=admin
set MINIO_SECRET_KEY=12345678
minio.exe server

如果需要特定的端口,也可以这样:

set MINIO_ACCESS_KEY=admin
set MINIO_SECRET_KEY=12345678
minio.exe server --address:9991 d:\Minio\MinioData

再配合WinSW就可以实现了

<service><id>minio-server</id><name>minio-server</name><!-- 如果不能启动,可将description中的中文去除 --><description>Minio文件存储服务</description><startmode>Automatic</startmode><executable>run.bat</executable>
</service>

在这里插入图片描述
这就已经成功安装服务了
卸载服务
在这里插入图片描述
当然你也可以用WinSW把java -jar变成一个Windows服务

1.3、Minio支持多种语言的SDK

链接:https://min.io/docs/minio/linux/developers/minio-drivers.html?ref=docs

  • Go
  • Python
  • Java
  • .NET
  • Javascript
  • Haskell
  • C++
1.3.1、Java中使用

Maven引用

<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.7</version>
</dependency>

Java中使用

import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;public class FileUploader {public static void main(String[] args)throws IOException, NoSuchAlgorithmException, InvalidKeyException {try {// Create a minioClient with the MinIO server playground, its access key and secret key.MinioClient minioClient =MinioClient.builder().endpoint("https://play.min.io").credentials("Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG").build();// Make 'asiatrip' bucket if not exist.boolean found =minioClient.bucketExists(BucketExistsArgs.builder().bucket("asiatrip").build());if (!found) {// Make a new bucket called 'asiatrip'.minioClient.makeBucket(MakeBucketArgs.builder().bucket("asiatrip").build());} else {System.out.println("Bucket 'asiatrip' already exists.");}// Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket// 'asiatrip'.minioClient.uploadObject(UploadObjectArgs.builder().bucket("asiatrip").object("asiaphotos-2015.zip").filename("/home/user/Photos/asiaphotos.zip").build());System.out.println("'/home/user/Photos/asiaphotos.zip' is successfully uploaded as "+ "object 'asiaphotos-2015.zip' to bucket 'asiatrip'.");} catch (MinioException e) {System.out.println("Error occurred: " + e);System.out.println("HTTP trace: " + e.httpTrace());}}
}

其他自行摸索了,祝用餐愉快!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/220976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理德名人故事:金融大王——贾尼尼

一个人的职业选择和成长道路会受到很多因素的影响。贾尼尼&#xff0c;这位美国第三大银行——美洲银行的创始人&#xff0c;他的银行家之路却与父亲的死有关。 1878年的一天&#xff0c;贾尼尼8岁的时候&#xff0c;同村的一个葡萄农&#xff0c;因为还不起向贾尼尼父亲借的一…

MuMu模拟器12如何连接adb?

一、MuMu模拟器12端口查看 MuMu模拟器12现已支持adb同时连接多个模拟器进行调试的操作&#xff0c;可以参考以下步骤操作&#xff0c;查看MuMu模拟器12本体以及多开模拟器的adb端口&#xff1a; 单开的MUMU模拟器12可通过模拟器右上角菜单-问题诊断&#xff0c;获取ADB调试端…

bind、call、apply 区别?

作用 call、apply、bind作用是改变函数执行时的上下文&#xff0c;简而言之就是改变函数运行时的this指向 那么什么情况下需要改变this的指向呢&#xff1f; 下面举个例子 var name "lucy"; var obj {name: "martin",say: function () {console.log(…

TikTok科技趋势:平台如何引领数字社交革命?

TikTok作为一款颠覆性的短视频应用&#xff0c;不仅改变了用户的娱乐方式&#xff0c;更在数字社交领域引领了一场革命。本文将深入探讨TikTok在科技趋势方面的引领作用&#xff0c;分析其在数字社交革命中的关键角色&#xff0c;以及通过技术创新如何不断满足用户需求&#xf…

实现树形结构的插件vue-tree-color及元素放大缩小拖动

实现流程图,借鉴vue-tree-color 引入依赖 npm install vue-tree-color 同时查看项目中是否已安装less和less-loader,因为该组件使用到less npm install --save-dev less less-loader 如果这里启动项目报错,有可能是less和less-loader的版本过高,可以降低版本,或者指定版本号…

【面试】数据库—优化—如何定位慢查询

数据库—优化—如何定位慢查询 1. 出现慢查询的情况&#xff08;表象&#xff1a;页面加载过慢、接口压测响应时间过长&#xff08;超过1s&#xff09;&#xff09;&#xff1a; 聚合查询多表查询表数据量过大查询深度分页查询 2. 如何定位慢查询 方案一&#xff1a;开源工具…

OpenHarmony 鸿蒙系统之开发环境安装

一、首先在下方链接网址中下载DevEco Studio的安装包。 DevEco Studio历史版本下载-HarmonyOS应用开发官网

[字符串操作]挑选最大值序列

挑选最大值序列 题目描述 给出了若干行非负整数序列&#xff0c;请选择最大值所在的序列&#xff0c;按输入原样输出该序列。如果最大值出现在多个序列&#xff0c;则只输出最大值最后出现的序列。 假设&#xff1a;每个序列中至少有1个整数&#xff0c;至多300个整数&#x…

可替代LM5145,5.5V-100V Vin同步降压控制器_SCT82A30

SCT82A30是一款100V电压模式控制同步降压控制器&#xff0c;具有线路前馈。40ns受控高压侧MOSFET的最小导通时间支持高转换比&#xff0c;实现从48V输入到低压轨的直接降压转换&#xff0c;降低了系统复杂性和解决方案成本。如果需要&#xff0c;在低至6V的输入电压下降期间&am…

(Spring学习08)Spring之容器配置类解析过程源码解析

解析配置类 解析配置类流程图&#xff1a;https://www.processon.com/view/link/5f9512d5e401fd06fda0b2dd 解析配置类思维脑图&#xff1a;https://www.processon.com/view/link/614c83cae0b34d7b342f6d14 在启动Spring时&#xff0c;需要传入一个AppConfig.class给Applicat…

CNS0创建交货单没有WBS元素

1、问题 CNS0创建交货单带不出WBS&#xff0c;但是交货单过账之后&#xff0c;又可以读取到WBS。 2、原因 2.1、项目挂料 创建项目挂料时&#xff0c;当物料为通用料&#xff0c;则在网络中挂料时&#xff0c;采购类型为网络预留 当物料为专用料&#xff0c;则在网络中挂料时…

触摸键检测IC TS223——2.0V~5.5V 低功耗和宽工作电压 SSOP16、SOT-23-6封装形式

TS223是触摸键检测IC&#xff0c;提供1个触摸键。触摸检测IC是为了用可变面积的键取代传统的按钮键而设计的。低功耗和宽工作电压是触摸键的DC和AC特点。采用SSOP16、SOT-23-6的封 装形式封装。 主要特点&#xff1a; ● 工作电压2.0V~5.5V ● 工作电流VDD3V&#xff0c; 无…

JavaScript强制类型转换

强制类型转换&#xff1a; 强制类型转换&#xff1a;指将其他的数据类型转换为string、number、boolean 将其他数据类型转换为字符串String()&#xff1a; 方法一&#xff1a; - 可以通过调用被转换值的toString()方法来将其转换为字符串 - 调用xxx的yyy方法 --> xxx.yy…

debian12 最小化安装桌面 i3wm

怕记不住&#xff0c;先临时记录一下&#xff0c;还未整理&#xff0c;先凑合着看 debian12 最小安装 i3wm 一、先安装 debian12 最小安装 软件包只选择最后的两个 SSH服务&#xff0c;和管理工具 安装后查看IP&#xff0c;并用另一台电脑 ssh 连接操作&#xff0c;这样比较…

Android WebView 响应缓存 笔记

Android WebView 响应缓存 在 Android开发中&#xff0c;经常用到 WebView 进行 Hybrid 模式开发&#xff0c;而 缓存是 常见的优化方式。 一、WebView 缓存模式 Android WebView 通过 WebSettings.setCacheMode 设置缓存方式。 有 5 种模式&#xff0c;实际现在 4 种&#…

教你用JMeter做接口测试的几个简单实例

前言 这次小项目是基于HTTP协议的接口&#xff0c;通过JMeter来完成一次基本的接口测试&#xff0c;完整复习一下JMeter的基本操作。 在实际项目中&#xff0c;测试也要先从开发那拿到接口说明书&#xff0c;分析熟悉业务后&#xff0c;写接口的测试用例&#xff0c;最后再在…

Java毕业设计—vue+SpringBoot调查问卷管理系统

研究目的 在进入21世纪以后&#xff0c;互联网得到了蓬勃的发展&#xff0c;电子问卷调查也开始逐渐流行起来。传统纸质问卷和电子问卷相比较后&#xff0c;传统问卷还存在很多弊端&#xff1a; 问卷分发起来比较困难&#xff0c;并且分发试卷耗费大量的金钱和时间&#xff1…

2024年金科《数字媒体技术》专业参考书目及考试大纲

《计算机网络基础》考试大纲 一、参考书目&#xff1a; 《计算机网络技术与应用&#xff08;第 2 版&#xff09;》&#xff0c;段标、张玲主编&#xff0c;电子工业出版社. 二、考试形式&#xff1a; 闭卷&#xff0c;考试时间 90 分钟 三、考试内容和要求 &#xff08;一…

Visual Studio(VS)常用快捷键(最详细)

Visual Studio常用快捷键 一、生成&#xff1a;常用快捷键二、调式&#xff1a;常用快捷键三、编辑&#xff1a;常用快捷键四、文件&#xff1a;常用快捷键五、项目&#xff1a;常用快捷键六、重构&#xff1a;常用快捷键七、工具&#xff1a;常用快捷键八、视图&#xff1a;常…

Echarts多图表动态更新示例

前端框架(html、echarts、jquery) <!DOCTYPE html> <html><head><meta charset"utf-8"><title>echarts多图表动态更新示例</title><script src"jquery.min.js"></script><script type"text/java…