在 Ubuntu 上快速安装 MinIO 的三种方式
方式一 二进制快速部署 systemd 管理(推荐)
- 准备环境
- 更新索引并创建专用用户与数据目录:
- sudo apt update
- sudo useradd -r -s /sbin/nologin -m -d /opt/minio minio-user
- sudo mkdir -p /data/minio
- sudo chown -R minio-user:minio-user /data/minio
- 下载并安装二进制
- wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
- sudo chmod +x /usr/local/bin/minio
- 配置环境变量
- sudo tee /etc/default/minio <<‘EOF’
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd
MINIO_VOLUMES=“/data/minio”
MINIO_OPTS=“–address :9000 --console-address :9001”
EOF
- sudo chown minio-user:minio-user /etc/default/minio
- 配置 systemd 服务
-
sudo tee /etc/systemd/system/minio.service <<‘EOF’
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[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 enable --now minio
- 访问与验证
- API:http://<服务器IP>:9000
- 控制台:http://<服务器IP>:9001
- 状态:sudo systemctl status minio
说明:上述端口与目录可按需调整,生产环境请使用强密码并限制访问来源。
方式二 Docker 一条命令运行
- 准备目录
- sudo mkdir -p /opt/minio/{data,config}
- 启动容器(将控制台端口固定为 9001,便于与 API 端口 9000 区分)
- docker run -d
–name minio
-p 9000:9000
-p 9001:9001
–restart=always
-v /opt/minio/data:/data
-v /opt/minio/config:/root/.minio
-e “MINIO_ROOT_USER=admin”
-e “MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd”
minio/minio:latest
server /data --console-address “:9001”
- 访问
- API:http://<服务器IP>:9000
- 控制台:http://<服务器IP>:9001
提示:如需持久化或集群部署,可扩展 volume 与相应参数。
方式三 APT 仓库安装(如仓库可用)
- 导入 GPG 并添加仓库(以 amd64 为例)
- wget -qO - https://dl.min.io/server/minio/release/linux/amd64/minio-release.gpg.key | sudo apt-key add -
- echo “deb https://dl.min.io/server/minio/release/linux/amd64/archive/ /” | sudo tee /etc/apt/sources.list.d/minio.list
- 安装与启动
- sudo apt update
- sudo apt install -y minio
- sudo systemctl enable --now minio
- 说明
- 仓库与可用版本会随时间调整,若导入或安装失败,请改用二进制或 Docker 方式。
防火墙与可选反向代理
- 防火墙放行
- UFW:sudo ufw allow 9000/tcp;sudo ufw allow 9001/tcp
- firewalld:sudo firewall-cmd --permanent --add-port=9000/tcp;sudo firewall-cmd --permanent --add-port=9001/tcp;sudo firewall-cmd --reload
- Nginx 反向代理与 HTTPS(示例)
- 安装:sudo apt install -y nginx
- 站点配置(/etc/nginx/sites-available/minio):
- server {
listen 80;
server_name minio.example.com;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
- 启用站点:sudo ln -s /etc/nginx/sites-available/minio /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl reload nginx
- 建议配合 Let’s Encrypt 获取 TLS 证书后使用 https 访问。
常见问题与快速排查
- 控制台端口未固定导致重启后变化:启动时显式指定 --console-address “:9001”(或自定义端口),并在防火墙放行对应端口。
- 使用默认账号密码风险:务必在环境变量中设置 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD 为强密码,避免使用 minioadmin/minioadmin。
- 目录权限问题:确保数据目录与配置目录归属运行用户(如 minio-user),否则服务可能启动失败。
- 云服务器安全组:除系统防火墙外,还需在云平台安全组放行 9000/9001(或自定义)端口。