在 Ubuntu 上安装和使用 MinIO(对象存储,兼容 S3)时,有几个关键点和常见坑需要注意。下面按「安装前 → 安装中 → 安装后」给你梳理。
uname -m
x86_64 ✅aarch64(如树莓派、ARM 服务器)也能用,但需下载对应二进制MinIO 强烈不建议用系统盘或根分区直接跑生产。
✅ 推荐:
/data/miniosudo mkdir -p /data/minio
sudo chown -R $USER:$USER /data/minio
⚠️ 注意:
/rootMinIO 对时间敏感(签名校验):
timedatectl status
确保已开启 NTP:
sudo apt install -y chrony
sudo systemctl enable --now chrony
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
启动:
minio server /data/minio --console-address ":9001"
创建服务文件:
sudo nano /etc/systemd/system/minio.service
示例:
[Unit]
Description=MinIO
After=network.target
[Service]
User=minio
Group=minio
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=StrongPassword123"
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001"
Restart=always
[Install]
WantedBy=multi-user.target
然后:
sudo useradd -r -s /sbin/nologin minio
sudo chown -R minio:minio /data/minio
sudo systemctl daemon-reload
sudo systemctl enable --now minio
sudo ufw allow 9000
sudo ufw allow 9001
9000:S3 API9001:Web 控制台默认:
minioadminminioadmin⚠️ 生产环境必须改!
mc admin user如果用 Nginx:
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
⚠️ 必须:
client_max_body_size 0;| 问题 | 说明 |
|---|---|
| 权限错误 | 数据目录必须是 MinIO 用户可写 |
| 时间不同步 | 导致 S3 客户端连接失败 |
| 根分区存储 | 容易磁盘写满导致崩溃 |
| 单盘无冗余 | 磁盘坏 = 数据丢 |
| 公网暴露 | 必须加 HTTPS + 强密码 |
| 多实例同目录 | 会损坏数据 |
mc(MinIO Client)管理如果你愿意,我可以:
你现在是 测试环境还是生产环境?