在 ServBay 中設定與使用 MinIO 物件儲存服務
MinIO 是一款高效能、與 Amazon S3 API 相容的開源物件儲存伺服器。它非常適合在本地開發環境中模擬雲端儲存服務,用來儲存和管理非結構化資料,如圖片、影片、日誌檔案、備份與容器映像檔。透過 ServBay,您可以輕鬆在 macOS 上部署與管理本地 MinIO 實例。
概述
ServBay 提供 MinIO 的一鍵安裝與圖形化設定介面,大幅簡化在本地環境架設 S3 相容儲存的繁瑣流程。開發人員無需操作複雜的指令列即可快速取得一個功能完整的物件儲存服務,方便開發與測試應用。
更重要的是,ServBay 會自動為您的 MinIO 實例配置安全且易於存取的 Web 控制主控台,網域為 https://minio.servbay.host/
。
前置條件
- 您的 macOS 系統已成功安裝並運行 ServBay。
- 具備物件儲存基本概念(如桶 Bucket、物件 Object)的初步認識。
操作步驟
1. 安裝 MinIO 套件
首先,請在 ServBay 中安裝 MinIO:
- 開啟 ServBay 應用程式。
- 在左側導覽欄中,點擊 套件 (Packages)。
- 在套件清單中找到
物件儲存
-MinIO
。 - 點擊
MinIO
右側的安裝按鈕,等待安裝完成。 - 點擊啟用按鈕,啟用
MinIO
服務。
2. 設定 MinIO 服務
安裝完成後,需要進行 MinIO 的初始設定:
在 ServBay 左側導覽欄中,點擊 Object Storage。
在下拉選單中選擇 MinIO,進入其設定介面。
您會看到以下設定項目,可視需求調整或維持預設值:
- Bind IP (綁定 IP): MinIO 服務監聽的 IP 位址。預設為
127.0.0.1
,僅限本機存取,是最安全且推薦的本地開發配置。 - API Port (API 埠): S3 API 通訊埠。您的應用將透過此埠與 MinIO 互動。預設為
9000
。 - Root user (根用戶): MinIO 管理員帳號名稱。預設為
minio
。 - Root password (根密碼): 管理員帳號密碼。強烈建議您設定一組複雜且唯一的密碼並妥善保存。這是存取和管理您所有儲存資料的關鍵。
- Data Path (資料路徑): MinIO 儲存所有物件與中繼資料的本地檔案系統路徑。預設為
/Applications/ServBay/data/minio
。您可點擊右側的資料夾圖示,於 Finder 快速開啟此目錄。
- Bind IP (綁定 IP): MinIO 服務監聽的 IP 位址。預設為
3. 儲存設定並啟動服務
- 完成所有設定後,點擊右下角的 Save (儲存) 按鈕。
- 若一切正常,服務狀態指示燈會變為綠色,代表 MinIO 已成功啟動。
4. 存取 MinIO Web 控制台
ServBay 的一大便利在於,已自動為您配置好 MinIO 的 Web 管理介面:
方式一: 在 MinIO 設定介面右上角,點擊瀏覽器圖示(類似指南針),ServBay 會自動於您的預設瀏覽器開啟 MinIO 控制台。
方式二: 手動於瀏覽器輸入
https://minio.servbay.host/
。使用您於步驟 2 設定的
Root user
及Root password
登入。
登入後,您可透過直覺化的 Web 介面建立桶 (Buckets)、上傳和管理檔案 (Objects)、設定存取原則等。
5. 在應用程式中使用 MinIO
您的應用(如 PHP、Node.js、Python 等)可透過任何支援 S3 的 SDK 連接到 ServBay 的 MinIO 實例。連接時需填入以下關鍵資訊:
- Endpoint (連接端點):
http://127.0.0.1:9000
- Access Key ID (存取金鑰 ID): 您設定的
Root user
(如minio
) - Secret Access Key (私密存取金鑰): 您設定的
Root password
- Use path style endpoint (使用路徑格式端點): 強烈建議設為
true
。
PHP 程式碼範例(使用 AWS SDK for PHP)
首先,安裝 SDK:
bash
composer require aws/aws-sdk-php
1
接著,於您的程式碼中設定並使用 S3 客戶端:
php
<?php
require 'vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
$s3Client = new S3Client([
'profile' => 'default',
'version' => 'latest',
'region' => 'us-east-1', // 對於 MinIO,region 可為任意有效字串
'endpoint' => 'http://127.0.0.1:9000',
'use_path_style_endpoint' => true,
'credentials' => [
'key' => 'minio', // 您的 Root user
'secret' => 'your-strong-password', // 您的 Root password
],
]);
try {
$buckets = $s3Client->listBuckets();
foreach ($buckets['Buckets'] as $bucket) {
echo $bucket['Name'] . "\n";
}
} catch (AwsException $e) {
// 輸出例外資訊
echo "Error: " . $e->getMessage() . "\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
常見問題 (FAQ)
- Q: 如果忘記 MinIO 的 Root password,該如何重設?
- A: 在 ServBay 重設密碼非常簡單。只需於 MinIO 設定介面重新輸入新密碼,點擊 Save (儲存),接著重啟 MinIO 服務即可。ServBay 會自動為您更新設定檔。
- Q: 若 MinIO 服務啟動失敗,該怎麼辦?
- A: 請檢查下列事項:
- 點選 MinIO 設定介面右上角的日誌圖示,檢視詳細錯誤資訊。
- 確認
9000
埠未被其他程式佔用。 - 檢查您指定的
資料路徑
是否存在,以及 ServBay 是否有權限讀寫該目錄。
- A: 請檢查下列事項:
- Q: 我可以更改 MinIO 的 API 埠嗎?
- A: 可以。在 ServBay 的 MinIO 設定介面修改
API Port
欄位,儲存並重啟服務即可。請一併確保您的應用也同步連接新埠號。
- A: 可以。在 ServBay 的 MinIO 設定介面修改
總結
有了 ServBay,於 macOS 上架設與運行本地 MinIO 物件儲存實例變得前所未有的簡單。這為本地應用開發及測試提供極大便利,讓需要 S3 相容儲存服務的開發者無須耗費時間在環境設置上,而能聚焦於業務邏輯開發。