MinIO 是一个高性能的对象存储服务,它兼容 Amazon S3 云存储服务接口。在 Linux 系统上安装和部署 MinIO 可以通过多种方式完成,包括使用二进制包、Docker 或者通过系统包管理器(如 apt 或 yum)。
一.部署
Linux版下载地址:MinIO下载和安装 | 用于创建高性能对象存储的代码和下载内容
Windows版下载地址:MinIO下载和安装 | 用于创建高性能对象存储的代码和下载内容
1.下载二进制版
文件下载到/home/monitor/minio目录下
确保 /home/monitor/minio 文件存在且具有执行权限:
chmod +x /home/monitor/minio/minio
2.创建存储目录
mkdir -p /home/monitor/minio/data
3.创建启停脚本
为方便手动启停,创建启动脚本 start-minio.sh:
nano /home/monitor/start-minio.sh
添加以下内容:
#!/bin/bash
# 检查 MinIO 是否已在运行
if pgrep -f "minio server" > /dev/null; then
echo "Error: MinIO is already running. Please stop it first using /home/monitor/stop-minio.sh."
exit 1
fi
# 设置 MinIO 参数
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadmin
# 启动 MinIO
/home/monitor/minio/minio server /home/monitor/minio/data \
--console-address=:9001 \
--address=:9000 > /home/monitor/minio/logs/minio.log 2>&1 &
echo "MinIO started. PID: $!"
Windows启动脚本
@echo off
REM 设置 MinIO 存储目录(数据存放路径)
set MINIO_DATA_DIR=D:\Tools\minio\data
REM 创建数据目录(如果不存在)
if not exist "%MINIO_DATA_DIR%" mkdir "%MINIO_DATA_DIR%"
REM 启动 MinIO 服务器
D:\Tools\minio\minio.exe server "%MINIO_DATA_DIR%" --console-address ":9001"
REM 防止窗口自动关闭(可选)
pause
保存并添加执行权限:
chmod +x /home/monitor/start-minio.sh
创建停止脚本 stop-minio.sh:
nano /home/monitor/stop-minio.sh
添加以下内容:
#!/bin/bash
pkill -f "minio server"
echo "MinIO stopped."
保存并添加执行权限:
chmod +x /home/monitor/stop-minio.sh
4.验证部署
启动 MinIO 后,检查是否运行:
ps aux | grep minio
访问 MinIO 控制台:打开浏览器,访问 http://your-server-ip:9001
5.注意事项
防火墙:确保服务器的 9000(API)和 9001(控制台)端口已开放。如果有防火墙权限问题,需联系管理员。
安全性:生产环境中,建议配置 HTTPS 和更强的访问密钥/密码。
如需进一步优化或配置(如 HTTPS 或多节点部署),可参考 MinIO 官方文档:https://min.io/docs/minio/linux/index.html。
二.设置桶为公共可读
1. 配置 MinIO Client (mc)
配置 mc 以连接到你的 MinIO 服务:
/home/monitor/minio/mc alias set myminio http://your-server-ip9000 minioadmin minioadmin
说明:
myminio:为你的 MinIO 服务起的别名。
http://your-server-ip:9000:MinIO API 地址(或用 http://127.0.0.1:9000)。
minioadmin:minioadmin:管理员用户名和密码。
验证配置:
mc alias list myminio
2. 确认 mybucket 桶存在
检查桶是否已创建:
mc ls myminio/mybucket
如果不存在,创建桶:
mc mb myminio/mybucket
对象是否存在:
mc stat myminio/mybucket/image/17448101002861.jpg
3. 设置公共可读策略
为 mybucket 桶设置一个允许匿名用户读取的策略。公共可读策略允许 s3:GetObject 操作(读取对象),使用 mc anonymous 命令,MinIO 的 mc 提供便捷命令直接设置公共访问:
mc anonymous set public myminio/mybucket
说明:
set public :设置桶为公共可读,允许匿名用户执行 s3:GetObject(下载对象)。
myminio/mybucket:目标桶。
权限级别 |
说明 |
none |
禁止所有匿名访问(默认私有)。 |
download |
允许匿名用户仅下载对象(等效于 public)。 |
upload |
允许匿名用户上传对象(但不允许列出或下载)。 |
public |
允许匿名用户读取和列出对象(等同于旧版的 readonly)。 |
4.验证策略
mc anonymous get myminio/mybucket
参考: