要通过脚本自动化在CentOS上安装MinIO,你可以编写一个Shell脚本来执行所有必要的步骤。以下是一个基本的示例脚本,它将自动下载并安装最新版本的MinIO服务器。
首先,确保你有root权限或者可以使用sudo来执行需要root权限的命令。
创建一个名为install_minio.sh的文件,并将以下内容粘贴进去:
#!/bin/bash
# 确保脚本抛出遇到的错误
set -e
# 更新系统包
echo "Updating system packages..."
yum update -y
# 安装EPEL仓库
echo "Installing EPEL repository..."
yum install -y epel-release
# 安装wget
echo "Installing wget..."
yum install -y wget
# 下载MinIO服务器
MINIO_VERSION="RELEASE.2023-03-23T01-30-37Z"
MINIO_URL="https://dl.min.io/server/minio/release/linux-amd64/minio"
echo "Downloading MinIO server version ${MINIO_VERSION}..."
wget "${MINIO_URL}-${MINIO_VERSION}-linux-amd64.tar.gz"
# 解压MinIO服务器
echo "Extracting MinIO server..."
tar -xzf "minio-${MINIO_VERSION}-linux-amd64.tar.gz"
# 移动MinIO二进制文件到/usr/local/bin
echo "Moving MinIO binary to /usr/local/bin..."
mv minio /usr/local/bin/
# 创建MinIO数据目录
MINIO_DATA_DIR="/data"
echo "Creating MinIO data directory..."
mkdir -p "${MINIO_DATA_DIR}"
# 创建一个systemd服务文件
SYSTEMD_SERVICE_FILE="/etc/systemd/system/minio.service"
echo "Creating systemd service file..."
cat <<EOF > "${SYSTEMD_SERVICE_FILE}"
[Unit]
Description=MinIO Server
After=network.target
[Service]
User=minio
Group=minio
ExecStart=/usr/local/bin/minio server "${MINIO_DATA_DIR}"
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 重新加载systemd管理器配置
echo "Reloading systemd manager configuration..."
systemctl daemon-reload
# 启动MinIO服务
echo "Starting MinIO service..."
systemctl start minio
# 设置MinIO服务开机自启
echo "Enabling MinIO service to start on boot..."
systemctl enable minio
# 输出MinIO访问信息
echo "MinIO server is running at http://$(hostname -i):9000"
echo "Access Key: minioadmin"
echo "Secret Key: minioadmin"
在运行此脚本之前,请确保你已经检查了MinIO的最新版本,并将其替换到MINIO_VERSION变量中。你可以在MinIO的官方下载页面找到最新版本:https://min.io/download
保存脚本后,给予它执行权限:
chmod +x install_minio.sh
然后运行脚本:
sudo ./install_minio.sh
脚本将自动完成更新系统、安装必要的软件包、下载和解压MinIO、创建数据目录、设置systemd服务以及启动MinIO服务。
请注意,这个脚本使用了一个固定的访问密钥和秘密密钥(minioadmin/minioadmin),在生产环境中你应该生成一个安全的密钥对,并妥善管理它们。此外,你可能需要根据你的具体需求调整脚本中的配置。