温馨提示×

MinIO在Ubuntu上的安装配置指南

小樊
39
2025-12-14 20:14:38
栏目: 智能运维

MinIO 在 Ubuntu 上的安装配置指南

一 环境准备与安装方式

  • 更新系统并安装常用工具:
    • 执行:sudo apt update && sudo apt upgrade -y
  • 安装方式一 二进制方式(推荐,便于掌控版本与目录)
    • 下载:wget https://dl.min.io/server/minio/release/linux-amd64/minio
    • 赋权并移动:chmod +x minio && sudo mv minio /usr/local/bin/
  • 安装方式二 systemd 服务文件(可选,便于开机自启)
    • 可直接下载官方示例服务文件并放置到:/etc/systemd/system/minio.service,随后执行 sudo systemctl daemon-reload
  • 安装方式三 Docker(可选)
    • 拉取镜像:docker pull minio/minio:RELEASE.2022-01-04T07-41-07Z
    • 运行容器(映射 9000/9001 端口,数据持久化到宿主机):
      • 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_ACCESS_KEY=myminioadmin" -e "MINIO_SECRET_KEY=myminioadmin" minio/minio:RELEASE.2022-01-04T07-41-07Z server /data --console-address ":9001"
        以上步骤涵盖二进制安装、systemd 服务与 Docker 部署的常见做法,适合 Ubuntu 20.04/22.04 等版本。

二 以 systemd 方式运行 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
  • 配置环境变量文件 /etc/default/minio(请使用强口令):
    • 示例:
      • MINIO_VOLUMES="/usr/local/share/minio/"
      • MINIO_OPTS="--address :9000 --console-address :9001"
      • MINIO_ROOT_USER=admin
      • MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd
  • 创建 systemd 服务文件 /etc/systemd/system/minio.service
    • 示例:
      [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
      
  • 启动与开机自启:
    • sudo systemctl daemon-reload
    • sudo systemctl start minio && sudo systemctl enable minio
    • 检查状态:sudo systemctl status minio
      上述做法以最小权限运行服务、通过 EnvironmentFile 管理配置,并设置了文件句柄上限,适合生产环境。

三 访问控制台与 API 及防火墙设置

  • 访问地址与端口:
    • API(S3 兼容):http://<服务器IP>:9000
    • 控制台:http://<服务器IP>:9001
    • 登录凭据为 /etc/default/minio 中设置的 MINIO_ROOT_USER / MINIO_ROOT_PASSWORD
  • 防火墙放行(如使用 UFW):
    • sudo ufw allow 9000,9001/tcp
    • 或仅放通控制台端口:sudo ufw allow 9001/tcp(若仅从内网调用 API)
  • 快速连通性验证:
    • curl -I http://127.0.0.1:9000/minio/health/live 应返回 200
      以上端口与访问路径为 MinIO 的默认设置,适用于大多数单机部署场景。

四 安全加固与常见问题

  • 安全加固建议
    • 使用强口令并定期轮换;避免使用默认账号密码。
    • 建议通过反向代理(如 Nginx)终止 TLS,并使用 Let’s Encrypt 证书;或在前端负载均衡/网关层统一做 HTTPS 与访问控制。
    • 仅在需要时开放公网访问,并限制来源 IP;控制台与 API 可分别绑定不同端口或网段。
  • 常见问题排查
    • 端口被占用:检查 sudo ss -tulpen | grep -E '9000|9001',释放或更换端口后重启服务。
    • 权限错误:确认数据/配置目录属主为 minio-user,且服务以该用户运行。
    • 启动失败:查看 sudo journalctl -u minio -xe 获取详细日志;常见原因为环境变量缺失、目录不可写或端口冲突。
      以上加固与排错要点可显著提升可用性与安全性,Nginx + Let’s Encrypt 的部署方式在生产中非常普遍。

0