Ubuntu 上安装 MinIO 的标准步骤
一 准备环境
- 更新系统并安装基础工具:
- sudo apt update && sudo apt upgrade -y
- sudo apt install -y wget ca-certificates
- 建议以非 root用户运行 MinIO,创建系统用户与数据目录(示例):
- sudo useradd -r minio-user -s /sbin/nologin
- sudo mkdir -p /usr/local/share/minio /etc/minio
- sudo chown -R minio-user:minio-user /usr/local/share/minio /etc/minio
- 说明:MinIO 官方提供二进制包与容器镜像两种常见部署方式,下文分别给出步骤。
二 方式一 二进制安装与 systemd 管理(推荐)
- 下载并安装二进制文件(amd64 示例,其他架构请替换链接中的架构名):
- wget https://dl.min.io/server/minio/release/linux-amd64/minio
- chmod +x minio
- sudo mv minio /usr/local/bin/
- 配置环境变量(/etc/default/minio):
- sudo tee /etc/default/minio >/dev/null <<‘EOF’
MINIO_VOLUMES=“/usr/local/share/minio/”
MINIO_OPTS=“–address :9000 --console-address :9001”
MINIO_ROOT_USER=“Admin”
MINIO_ROOT_PASSWORD=“StrongPassword123”
EOF
- 注意:请使用强密码,并妥善保存。
- 创建 systemd 服务(/etc/systemd/system/minio.service):
-
sudo tee /etc/systemd/system/minio.service >/dev/null <<‘EOF’
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
User=minio-user
Group=minio-user
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
- 启动与开机自启:
- sudo systemctl daemon-reload
- sudo systemctl start minio
- sudo systemctl enable minio
- sudo systemctl status minio
- 访问控制台:浏览器打开 http://服务器IP:9001,使用设置的 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD 登录。
三 方式二 Docker 部署(可选)
- 安装 Docker(如未安装):
- sudo apt install -y docker.io
- sudo systemctl start docker && sudo systemctl enable docker
- 启动 MinIO 容器(请替换强密码与数据目录):
- sudo docker run -d --name minio-server
-p 9000:9000 -p 9001:9001
-e MINIO_ROOT_USER=Admin
-e MINIO_ROOT_PASSWORD=StrongPassword123
-v /data:/data
minio/minio server /data --console-address “:9001”
- 访问控制台:http://服务器IP:9001。
四 防火墙与网络访问
- UFW(若启用):
- sudo ufw allow 9000,9001/tcp
- sudo ufw reload
- 云服务器安全组/NACL:放行 9000(API)与 9001(控制台)入站规则。
- 生产建议:通过 Nginx/负载均衡 + TLS(Let’s Encrypt) 提供 HTTPS 与域名访问。
五 验证与常见问题
- 服务状态与日志:
- systemctl status minio
- journalctl -u minio -f
- 连通性测试:
- curl -I http://127.0.0.1:9000/minio/health/live
- 常见问题处理:
- 权限错误:确保数据目录属主为 minio-user:minio-user。
- 端口占用:检查 9000/9001 是否被其他进程占用(ss -ltnp | grep -E ‘9000|9001’)。
- 控制台无法访问:确认安全组/防火墙放行 9001,以及服务已启动并监听对应地址。