温馨提示×

Linux如何部署MinIO

小樊
43
2026-07-28 17:26:46
栏目: 智能运维

在 Linux 上部署 MinIO(高性能对象存储,兼容 S3)常见有两种方式:单机部署分布式部署。下面从最常用、最实用的角度一步步说明,适合生产或测试环境。


一、MinIO 部署方式选择

场景 推荐方式
本地测试 / 学习 单机模式
生产环境 分布式模式
容器化 Docker / Kubernetes

下面先讲 Linux 原生二进制部署(最通用)


二、单机模式部署(最简单)

1️⃣ 下载 MinIO Server

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/

验证:

minio --version

2️⃣ 创建数据目录

mkdir -p /data/minio

3️⃣ 启动 MinIO

minio server /data/minio

默认:

  • API:http://<IP>:9000
  • 控制台:http://<IP>:9001

4️⃣ 自定义端口和访问密钥(推荐)

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=Admin@123

minio server /data/minio \
--console-address ":9001" \
--address ":9000"

5️⃣ 后台运行(生产建议)

nohup minio server /data/minio \
--console-address ":9001" \
--address ":9000" \
> /var/log/minio.log 2>&1 &

三、使用 systemd 管理(强烈推荐)

1️⃣ 创建 systemd 服务文件

sudo vim /etc/systemd/system/minio.service

内容如下(按需修改):

[Unit]
Description=MinIO Object Storage
After=network.target

[Service]
User=root
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=Admin@123"
ExecStart=/usr/local/bin/minio server /data/minio \
--console-address ":9001" \
--address ":9000"
Restart=always

[Install]
WantedBy=multi-user.target

2️⃣ 启动并设置开机自启

systemctl daemon-reload
systemctl start minio
systemctl enable minio
systemctl status minio

四、访问 MinIO

浏览器访问:

http://服务器IP:9001

使用:

  • Access Key:admin
  • Secret Key:Admin@123

五、创建 Bucket(存储桶)

  1. 登录控制台
  2. 点击 Buckets → Create Bucket
  3. 设置名称(如 images

六、Docker 方式部署(可选)

docker run -d \
  -p 9000:9000 \
  -p 9001:9001 \
  -e MINIO_ROOT_USER=admin \
  -e MINIO_ROOT_PASSWORD=Admin@123 \
  -v /data/minio:/data \
  minio/minio server /data \
  --console-address ":9001"

七、分布式部署(生产环境)

适合多磁盘 / 多节点(至少 4 块盘):

minio server \
http://node1/data1 \
http://node1/data2 \
http://node2/data1 \
http://node2/data2

⚠️ 分布式部署要求:

  • 节点数 ≥ 2
  • 磁盘数 ≥ 4
  • 时间同步(NTP)

八、防火墙放行端口

firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --add-port=9001/tcp --permanent
firewall-cmd --reload

九、常见问题

❓ 9000 和 9001 区别?

  • 9000:S3 API(程序访问)
  • 9001:Web 控制台

❓ 忘记密码?

删除数据目录或重新设置环境变量。


十、总结

推荐生产部署方式

Linux + systemd + MinIO 单机 / 分布式

如果你需要:

  • HTTPS
  • Nginx 反向代理
  • Kubernetes Helm 部署
  • Java / Python / Spring Boot 集成

告诉我你的使用场景,我可以给你完整方案。

0