温馨提示×

Ubuntu中MinIO网络配置指南

小樊
36
2025-12-04 23:23:52
栏目: 智能运维

Ubuntu 中 MinIO 网络配置指南

一 网络与主机准备

  • 建议使用静态 IP,避免地址漂移导致客户端不可用。Ubuntu 20.04+ 默认使用 Netplan,配置文件位于 /etc/netplan/,编辑 YAML 后执行 sudo netplan apply 生效。示例:
    network:
      version: 2
      renderer: networkd
      ethernets:
        enp0s3:
          dhcp4: no
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers: {addresses: [8.8.8.8, 8.8.4.4]}
    
    完成后用 ip aping 1.1.1.1nslookup example.com 校验连通性与 DNS。若使用 UFW,放行 MinIO 端口(见下一节)。

二 监听地址与端口规划

  • 常用端口与用途
    • 9000/TCP:MinIO S3 API 端口
    • 9001/TCP:MinIO 控制台端口
  • 绑定与暴露方式
    • 二进制/服务方式:通过命令行参数控制监听地址与端口
      • 仅本机访问:--address 127.0.0.1:9000 --console-address 127.0.0.1:9001
      • 所有接口:--address :9000 --console-address :9001
    • Docker 方式:使用 -p 9000:9000 -p 9001:9001 映射端口;如需简化网络可用 --network host(桥接模式需显式映射)。

三 防火墙与云安全组放行

  • UFW(示例)
    • 放行单端口:sudo ufw allow 9000sudo ufw allow 9001
    • 或一次性放行范围:sudo ufw allow 9000:9001/tcp
  • firewalld/iptables
    • firewalld:sudo firewall-cmd --permanent --add-port={9000,9001}/tcp && sudo firewall-cmd --reload
    • iptables:sudo iptables -A INPUT -p tcp --dport 9000 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 9001 -j ACCEPT
  • 云厂商安全组/NACL:在控制台放行 TCP 9000/9001 的入站规则(来源按需限制)。

四 反向代理与 TLS 配置

  • Nginx 反向代理示例(HTTP → MinIO API,端口 80 → 9000
    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;
      }
    }
    
    启用站点并重启 Nginx:sudo ln -s /etc/nginx/sites-available/minio.example.com /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl restart nginx。如需代理控制台,可新增 server 监听 9001 → 127.0.0.1:9001
  • TLS/HTTPS
    • 自签名证书:使用 certgen 生成 public.crtprivate.key,放置于运行用户的 ~/.minio/certs/(如 /home/minio/.minio/certs/),MinIO 将自动启用 HTTPS;访问控制台使用 https://:9001
    • 反向代理 TLS:在 Nginx 配置 listen 443 ssl; 并提供证书,将 443 转发至 127.0.0.1:9000/9001

五 systemd 服务与验证

  • 创建服务文件 /etc/systemd/system/minio.service(示例)
    [Unit]
    Description=MinIO
    Documentation=https://docs.min.io
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    WorkingDirectory=/mnt/data
    User=minio
    Group=minio
    Environment="MINIO_ROOT_USER=admin"
    Environment="MINIO_ROOT_PASSWORD=StrongPassw0rd!"
    ExecStart=/usr/local/bin/minio server /mnt/data --console-address ":9001"
    Restart=always
    RestartSec=5
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
    
    启动与开机自启:sudo systemctl daemon-reload && sudo systemctl start minio && sudo systemctl enable minio
  • 验证
    • 服务状态:sudo systemctl status minio
    • 控制台访问:浏览器打开 http://<服务器IP>:9001(若启用 TLS 则为 https://
    • 客户端连通:使用 mc 添加主机并列举存储桶
      mc config host add myminio http://<IP>:9000 <ACCESS_KEY> <SECRET_KEY>
      mc ls myminio
      
    • 日志排查:sudo journalctl -u minio -f;若 systemd 日志不足,可查 /var/log/syslog

0