介紹
[minio整合][https://www.cnblogs.com/huhongy/p/13542211.html]
[中文文檔][http://docs.minio.org.cn/docs/master/minio-monitoring-guide]
minio是對象存儲,相比於fastdfs相對輕量, minio < fastdfs < hdfs
[minio整合springboot][https://www.cnblogs.com/huhongy/p/13542211.html] : 之前整理的一篇博客,僅供參考
# 由於最近minio更新比較快,在2021版本針對ui和管理都有了很多新的變化,項目之前用到的2019版本,現在根據最新的版本,進行介紹
[官網下載][https://min.io/download] [github地址][https://github.com/minio/minio] [minio最新版][https://dl.min.io/server/minio/release/]
單機服務
window安裝
# 現在我已exe的最新版簡單演示部署
# 1. 下載 http://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe
# 2. minio 啟動
minio.exe server D:\software\study\minio\data 啟動如下圖
## 2.1 問題一 window版本啟動,可以不指定任何端口啟動,默認會啟動api 9000 端口,和隨機啟動一個console端口 (linux和docker啟動必須指定,不然會一直彈出端口未指定 --console-address ":PORT" 問題)
# 設置用戶名
set MINIO_ROOT_USER=admin
# 設置密碼(8位)
set MINIO_ROOT_PASSWORD=admin123
# 指定啟動端口(未指定默認9000)、控制台端口90001及存儲位置
minio.exe server --address :7000 --console-address :7001 D:\software\study\minio\data1
## 2.2 問題二 下面紅色的警告部分,因為啟動命令指定參數修改了
MINIO_ACCESS_KEY (原參數) -------> MINIO_ROOT_USER (新參數)
MINIO_SECRET_KEY -------> MINIO_ROOT_PASSWORD

# 修復問題一后的演示啟動效果,如下圖,警告么有了,console端口也是我們指定的

# 3. minio啟動后,會在文件目錄下生成對應配置文件 D:\software\study\minio\data\.minio.sys

# 4. web端訪問,注意: 由於上述啟動未指定任何端口,從控制窗口可以看到,有9000和50385兩個端口,通過上面接圖,可以看到API和Consle 都有對應的端口,生成的默認用戶是一樣的,代碼調用使用api對應的端口,web端訪問用consle接口,但是頁面使用api的端口即http://ip:9000也是會跳轉到http://ip:50285端口的(這個是minio內部有映射鏈關系,就是自己指定console端口,使用api端口訪問也是會跳轉到console端口的)

# 5. web登錄后整體界面和之前有很大的變化,有一部分mc 客戶端的整合,還有一部分新的內容,大概介紹一下:如下圖
Dashboard 儀表盤,可以查看minio整體一些信息,比如服務器,存儲桶,用戶等
Buckets 存儲桶
Users: 用戶管理
Groups: 組管理
Service Accounts Service Accounts管理當前服務賬號,可以創建、刪除、修改密碼等
IAM Policies Policies主要是管理訪問策略(也就是權限)
Settings Settings中可以配置通知、鈎子、基礎設置等功能。
Notification Endpoints 新增:通知端點
Tiers
Tools Tools主要提供了日志、監控、跟蹤、診斷等維護功能
License 許可證
documentation 文檔
logout 登出

# 6. 我們主要關注的是存儲桶。用戶,policy(權限)等方便
場景: 先上傳圖片,訪問如下:
解決方式如下:按照下圖配置進行配置,刷新圖片 解決



到這已經可以滿足最基本的圖片上傳回顯功能,下面我們來配置用戶和組的功能
# 7. 前面已經把圖片的上傳和回顯配置簡單說完了,下面來試試其他的用法,
docker安裝
# docker 安裝minio
docker search minio && docker pull minio
# 注意: docker最新版安裝會報錯 ,提示port問題,因為最新版提供了api和console兩個端口,所以需要--console-address ":9000" --address ":9090" 進行指定啟動,前期版本不需要,直接運行即可
docker run -d -p 9000:9000 --name minio \
-e "MINIO_ACCESS_KEY=minio" \
-e "MINIO_SECRET_KEY=minio123" \
-v /home/admin/minio/data:/data \
-v /home/admin/minio/config:/root/.minio \
minio/minio server /data \
--console-address ":9000" --address ":9090"
# 老版本
docker pull rancher/minio-minio:RELEASE.2018-05-25T19-49-13Z
docker run -d -p 9000:9000 --name minio \
-e "MINIO_ACCESS_KEY=minio" \
-e "MINIO_SECRET_KEY=minio123" \
-v /home/admin/minio/data:/data \
-v /home/admin/minio/config:/root/.minio \
324b75ae46a3 server /data
# 驗證
docker run -d -p 9001:9000 --name minio2 6b17fbd170ea server /data
# 錯誤分析:
使用原來的命令運行容器會報錯:WARNING: Console endpoint is listening on a dynamic port (3101), please use --console-address ":PORT" to choose a static port。
這是docker在提示我們使用靜態的固定端口,以避免啟動時使用隨機端口。但minio一直只用的9000端口,在運行命令中指定了端口映射,為什么還會出現這樣的提示呢。
通過docker官網上的鏡像介紹,之前只有一個端口。現在有兩個了,區分了Console和API兩個服務的端口。原來都是共同使用9000,現在需要在啟動命令中映射兩個端口,然后指定哪個端口做哪項服務
# 外網訪問注意:
注意:如果想從外部直接訪問minio中的文件內容,訪問路徑不要加 /minio
如:http://192.168.108.44:9000/minio/huhy/2021/11/17/1390536764510310401.html (不對)
http://192.168.108.44:9000/huhy/2021/11/17/1390536764510310401.html (正確姿勢)
# minio訪問策略后續補充-------------------------
