轉載: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:\minio\logs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>D:\minio\run.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>