CentOS 安装与部署 MinIO 指南
一 环境准备与版本选择
uname -m,输出为 x86_64 再继续。二 安装方式一 RPM 包
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20250312180418.0.0-1.x86_64.rpm -O minio.rpm
yum install -y minio.rpm
minio --version
mkdir -p /mnt/data
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown -R minio-user:minio-user /mnt/data
chmod -R 755 /mnt/data
cat >/etc/default/minio <<'EOF'
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd
MINIO_VOLUMES="/mnt/data"
MINIO_OPTS="--address :9000 --console-address :9001"
EOF
cat >/usr/lib/systemd/system/minio.service <<'EOF'
[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local
User=minio-user
Group=minio-user
ProtectProc=invisible
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=65536
TasksMax=infinity
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now minio
systemctl status minio
journalctl -u minio.service -f
minio --version
ss -ltnp | grep -E ':(9000|9001)'
yum remove -y minio
rm -rf /mnt/data /etc/default/minio /usr/lib/systemd/system/minio.service
三 安装方式二 二进制方式
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
chmod +x /usr/local/bin/minio
mkdir -p /data/minio /var/log/minio
groupadd -r minio
useradd -r -g minio -d /data/minio -s /sbin/nologin minio
chown -R minio:minio /data/minio /var/log/minio
cat >/etc/default/minio <<'EOF'
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=YourStrongP@ssw0rd
MINIO_VOLUMES="/data/minio"
MINIO_OPTS="--address :9000 --console-address :9001"
EOF
cat >/etc/systemd/system/minio.service <<'EOF'
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=minio
Group=minio
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now minio
systemctl status minio
journalctl -u minio.service -f
四 防火墙与 SELinux 配置
firewall-cmd --permanent --zone=public --add-port=9000/tcp
firewall-cmd --permanent --zone=public --add-port=9001/tcp
firewall-cmd --reload
firewall-cmd --list-ports
yum install -y policycoreutils-python-utils
semanage port -a -t http_port_t -p tcp 9000
semanage port -a -t http_port_t -p tcp 9001
systemctl stop firewalld
systemctl disable firewalld
五 访问控制台与基础运维
systemctl status minio
journalctl -u minio.service -f
ss -ltnp | grep -E ':(9000|9001)'
lsof -i :9000 或 ss -ltnp | grep 9000,结束占用进程或修改 MINIO_OPTS 端口后重启。/etc/default/minio 中用户名与密码是否正确,重启服务生效。