Linux MinIO安装脚本使用方法
一 准备与下载
- 准备一台64位 Linux主机,建议使用静态IP,并开放端口:9000(S3 API)与9001(控制台)。如使用云服务器,请在安全组放行对应端口。
- 安装依赖工具(至少包含wget或curl):
Ubuntu/Debian:sudo apt-get update && sudo apt-get install -y wget
CentOS/RHEL:sudo yum install -y wget
- 选择架构并下载二进制(示例为 linux-amd64):
wget https://dl.min.io/server/minio/release/linux-amd64/minio
如需国内加速,可将域名替换为:dl.minio.org.cn。
- 赋予执行权限并放入系统路径:
chmod +x minio && sudo mv minio /usr/local/bin/
- 验证安装:minio --version。
二 一键安装脚本示例
- 单机版脚本(适合快速试用,使用环境变量设置凭据,生产环境请改为强口令并持久化到服务单元):
#!/usr/bin/env bash
set -e
ARCH="linux-amd64"
MINIO_BIN="/usr/local/bin/minio"
DATA_DIR="/data"
if command -v apt-get >/dev/null 2>&1; then
sudo apt-get update && sudo apt-get install -y wget
elif command -v yum >/dev/null 2>&1; then
sudo yum install -y wget
fi
sudo mkdir -p "$(dirname "$MINIO_BIN")"
wget -q "https://dl.min.io/server/minio/release/$ARCH/minio" -O "$MINIO_BIN"
sudo chmod +x "$MINIO_BIN"
sudo mkdir -p "$DATA_DIR"
export MINIO_ROOT_USER="admin"
export MINIO_ROOT_PASSWORD="YourStrongP@ssw0rd"
echo "Starting MinIO at http://$(hostname -I | awk '{print $1}'):9000"
echo "Console at http://$(hostname -I | awk '{print $1}'):9001"
exec "$MINIO_BIN" server "$DATA_DIR" --console-address ":9001"
- 使用方式:
- 保存为 install_minio.sh
- chmod +x install_minio.sh
- ./install_minio.sh
- 说明:上述脚本演示了下载、授权、目录准备、环境变量与启动命令的最小闭环;生产环境建议使用 systemd 托管并将凭据写入服务环境或受管配置中。
三 生产环境建议 systemd 托管
- 创建专用用户与目录(示例用户:minio):
sudo useradd -m -d /app/minio -s /usr/sbin/nologin minio
sudo mkdir -p /app/minioData /app/minio/logs
sudo chown -R minio:minio /app/minio /app/minioData /app/minio/logs
- 创建服务文件 /etc/systemd/system/minio.service(将凭据写入服务环境,避免命令行暴露):
[Unit]
Description=MinIO Object Storage
After=network.target
[Service]
Type=simple
User=minio
Group=minio
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd"
ExecStart=/usr/local/bin/minio server /app/minioData --console-address ":9001"
Restart=always
LimitNOFILE=65536
StandardOutput=/app/minio/logs/minio.log
StandardError=/app/minio/logs/minio-error.log
[Install]
WantedBy=multi-user.target
- 启动与开机自启:
sudo systemctl daemon-reload
sudo systemctl enable --now minio
sudo systemctl status minio
- 说明:示例采用新环境变量名(MINIO_ROOT_USER / MINIO_ROOT_PASSWORD),与旧变量名(MINIO_ACCESS_KEY / MINIO_SECRET_KEY)作用等同,建议统一使用新变量名。
四 分布式部署脚本要点
- 前置条件:至少2台以上节点,配置NTP时间同步;为安全与隔离建议创建minio系统用户并统一目录权限。
- 在所有节点准备数据与日志目录并赋权(如上)。
- 在其中一台节点准备启动脚本或 systemd 服务,关键是指定所有节点的卷地址(HTTP 或 HTTPS 直连各节点数据目录):
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd
export MINIO_VOLUMES=“http://192.168.1.11/app/minioData http://192.168.1.12/app/minioData”
/usr/local/bin/minio server $MINIO_VOLUMES --console-address “:9001”
- 说明:分布式部署以“卷地址列表”的方式启动,MinIO 会自动进行数据放置与纠删码/副本策略管理;确保节点间网络互通、时间一致与目录权限正确。
五 验证与常见问题
- 验证与访问:
- API:http://<服务器IP>:9000
- 控制台:http://<服务器IP>:9001
- 首次若未设置凭据,MinIO 可能使用默认账号(如 minioadmin/minioadmin),生产环境务必设置强口令。
- 常见问题处理:
- 命令未找到:确认 /usr/local/bin 在 PATH,或使用绝对路径执行。
- 权限不足:确保数据目录与日志目录属主为运行用户(如 minio:minio)。
- 端口不通:检查云安全组/本机防火墙(放行 9000/9001),以及服务是否监听对应地址。
- 架构不匹配:确认下载的 linux-amd64/arm64 与服务器架构一致。
- 日志排查:journalctl -u minio -f 或查看 /app/minio/logs/minio.log。