MinIO的网络访问依赖Ubuntu系统的网络设置,需先确保系统能正常联网并配置静态IP(生产环境推荐)。
/etc/netplan/01-netcfg*.yaml(文件名因系统而异),修改为以下内容(替换为你的网络参数):network:
version: 2
renderer: networkd
ethernets:
enp0s3: # 替换为你的网卡名称(通过`ip link`命令查看)
dhcp4: no # 关闭DHCP,使用静态IP
addresses: ["192.168.1.100/24"] # 静态IP地址及子网掩码
gateway4: 192.168.1.1 # 网关地址
nameservers:
addresses: ["8.8.8.8", "8.8.4.4"] # DNS服务器
保存后应用配置:sudo netplan apply
ip addr show enp0s3,确认IP地址已生效;通过ping www.baidu.com测试网络连通性。若未安装MinIO,需先下载并安装二进制文件:
# 下载MinIO(Linux amd64架构)
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# 添加执行权限并移动到系统目录
chmod +x minio
sudo mv minio /usr/local/bin/
# 创建数据存储目录
sudo mkdir -p /data
sudo chown -R $(whoami):$(whoami) /data # 赋予当前用户权限
默认情况下,MinIO仅监听localhost(127.0.0.1),需修改为监听所有网络接口(0.0.0.0)以允许远程访问:
minio server --address ":9000" /data --console-address ":9090"
--address ":9000":设置MinIO服务端口(外部访问端口),0.0.0.0表示监听所有接口。--console-address ":9090":设置MinIO控制台端口(Web管理界面)。ip:9000(如192.168.1.100:9000)访问MinIO控制台,使用默认账号minioadmin/minioadmin登录。默认的minioadmin/minioadmin账号安全性低,建议创建自定义密钥:
# 创建自定义访问密钥(替换为你自己的密钥)
minio admin user add myaccesskey mysecretkey
# 设置密钥为默认访问权限(可选)
minio admin policy set myminio readwrite user=myaccesskey
若系统启用了ufw防火墙,需允许MinIO端口流量:
sudo ufw allow 9000/tcp # MinIO服务端口
sudo ufw allow 9090/tcp # MinIO控制台端口
sudo ufw reload # 重新加载防火墙规则
为确保系统重启后MinIO自动启动,可创建Systemd服务:
/etc/default/minio文件,添加以下内容(替换为你的配置):MINIO_VOLUMES="/data" # 数据存储目录
MINIO_OPTS="--address :9000 --console-address :9090" # 监听端口
MINIO_ACCESS_KEY="myaccesskey" # 自定义访问密钥
MINIO_SECRET_KEY="mysecretkey" # 自定义秘密密钥
/etc/systemd/system/minio.service:[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/data
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=1048576
TasksMax=infinity
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable minio
sudo systemctl start minio
http://<服务器IP>:9090,使用自定义密钥登录控制台。curl命令测试API访问:curl -u myaccesskey:mysecretkey http://<服务器IP>:9000/minio/health/live
返回{"healthy":true}表示网络访问正常。--certs-dir参数指定证书目录)增强数据传输安全性。--join参数(参考MinIO集群文档)。