Ubuntu 上 MinIO 网络设置实操指南
一 系统网络与防火墙
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]
应用:sudo netplan apply;验证:ip addr show enp0s3。如使用传统方式(Ubuntu 16.04 及更早),编辑 /etc/network/interfaces 并重启网络服务。sudo ufw allow 9000/tcp
sudo ufw allow 9001/tcp
sudo ufw reload
云服务器需同时在安全组放行 9000/9001/TCP。二 MinIO 监听与访问
minio server /data --address ":9000" --console-address ":9001"
如需绑定特定 IP,可将 --address 设为 192.168.1.100:9000。export MINIO_VOLUMES="/data/minio"
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd
export MINIO_OPTS="--address :9000 --console-address :9001"
创建 systemd 服务(示例):sudo tee /etc/systemd/system/minio.service >/dev/null <<'EOF'
[Unit]
Description=MinIO
After=network.target
[Service]
User=minio
Group=minio
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now minio
访问控制台:http://服务器IP:9001。version: "3.8"
services:
minio:
image: minio/minio
command: server /data
volumes:
- ./data:/data
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: YourStrongP@ssw0rd
启动:docker-compose up -d。三 加密传输与反向代理
server {
listen 443 ssl http2;
server_name minio.example.com;
ssl_certificate /etc/minio/certs/public.crt;
ssl_certificate_key /etc/minio/certs/private.key;
# API
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $http_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;
}
# Console
location /console/ {
proxy_pass http://127.0.0.1:9001/;
proxy_set_header Host $http_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 ip link set eno1 mtu 9000
sudo sysctl -w net.core.rmem_max=4194304
sudo sysctl -w net.core.wmem_max=4194304
sudo sysctl -w net.ipv4.tcp_window_scaling=1
sudo sysctl -w net.ipv4.tcp_bbr=1
sudo sysctl -p
启动限速(示例 1G):minio server /data --address ":9000" --console-address ":9001" --bandwidth-limit 1G
五 常见问题排查
sudo ufw status 或 ss -lntp | grep -E '9000|9001',云上检查安全组规则。--address ":9000" 与 --console-address ":9001",而非仅本地 127.0.0.1。