首先更新系统软件包至最新版本,确保系统稳定性;安装wget工具用于下载MinIO及客户端文件。
sudo yum update -y sudo yum install -y wget 为增强安全性,避免使用root用户运行MinIO,创建专用系统用户minio-user及用户组minio-group,并设置无登录权限。
sudo groupadd -r minio-group sudo useradd -r -g minio-group -s /sbin/nologin minio-user 从MinIO官方网站下载最新版本的Linux AMD64架构二进制文件(适用于CentOS 7/8/9等主流版本)。
wget https://dl.min.io/server/minio/release/linux-amd64/minio 为下载的二进制文件添加可执行权限,然后移动到/usr/local/bin/目录(系统全局路径),方便后续直接调用。
chmod +x minio sudo mv minio /usr/local/bin/ 选择合适路径(如/data/minio)创建数据目录,用于存储MinIO的所有数据文件(桶、对象等)。
sudo mkdir -p /data/minio 将数据目录的所有权赋予minio-user用户及minio-group组,并设置用户拥有完全读写权限(u+rwx),确保MinIO服务可正常读写数据。
sudo chown -R minio-user:minio-group /data/minio sudo chmod -R u+rwx /data/minio 通过环境变量文件/etc/default/minio配置MinIO启动参数,便于统一管理(如修改数据路径、访问密钥等)。
sudo tee /etc/default/minio > /dev/null << 'EOF' # 数据存储路径(必须设置,指向已存在的目录) MINIO_VOLUMES="/data/minio" # 管理员访问密钥(建议使用强密码,替换为你自己的值) MINIO_ROOT_USER="your_secure_access_key" MINIO_ROOT_PASSWORD="your_very_strong_secret_key" # 控制台端口(默认9001,可根据需求修改) MINIO_CONSOLE_ADDRESS=":9001" EOF 通过Systemd服务管理MinIO进程,实现开机自启、故障自动重启等功能,提升服务可靠性。
sudo vim /etc/systemd/system/minio.service 粘贴以下内容(需确保EnvironmentFile指向正确的环境变量文件路径):
[Unit] Description=MinIO Server Documentation=https://docs.min.io After=network.target [Service] # 指定运行服务的用户和组 User=minio-user Group=minio-group # 加载环境变量文件 EnvironmentFile=/etc/default/minio # 启动MinIO服务器,使用环境变量中的参数 ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES # 故障时自动重启(5秒后) Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl enable minio # 设置开机自启 sudo systemctl start minio # 启动服务 sudo systemctl status minio # 检查服务状态(显示"active (running)"即为成功) 若服务启动失败,可通过以下命令查看详细日志定位原因:
journalctl -u minio -xe --no-pager 若系统启用了firewalld防火墙,需开放MinIO服务端口(默认9000,用于数据传输)和控制台端口(如9001,用于Web管理界面)。
sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp # MinIO服务端口 sudo firewall-cmd --permanent --zone=public --add-port=9001/tcp # 控制台端口 sudo firewall-cmd --reload # 重新加载防火墙规则 打开浏览器,输入http://<服务器IP地址>:9001,使用配置的MINIO_ROOT_USER和MINIO_ROOT_PASSWORD登录MinIO控制台,即可查看和管理存储桶、对象等资源。
wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc sudo mv mc /usr/local/bin/ 为mc创建别名(如myminio),方便后续操作:
mc alias set myminio http://<服务器IP地址>:9000 your_secure_access_key your_very_strong_secret_key mc ls myminiomc mb myminio/my-bucketmc cp local-file.txt myminio/my-bucket/mc policy set public myminio/my-bucket若需确保数据在服务器重启后不丢失,可将数据目录挂载到外部持久化存储(如NFS、Ceph或本地磁盘)。例如,挂载本地磁盘/dev/sdb1到/data/minio:
sudo mkfs.ext4 /dev/sdb1 # 格式化磁盘(若未格式化) sudo mount /dev/sdb1 /data/minio # 临时挂载 # 添加至/etc/fstab实现开机自动挂载 echo "/dev/sdb1 /data/minio ext4 defaults 0 0" | sudo tee -a /etc/fstab 为保障数据传输安全,需为MinIO配置SSL/TLS证书。可从Let’s Encrypt免费获取证书,或使用自有证书:
# 安装Certbot工具(以CentOS 8为例) sudo dnf install -y certbot python3-certbot-nginx # 获取证书(替换your-domain.com为你的域名) sudo certbot certonly --standalone -d your-domain.com # 启动MinIO时指定证书路径 minio server /data/minio --certs-dir /etc/letsencrypt/live/your-domain.com/ 若需搭建高可用MinIO集群,需至少4个节点(奇数个),并配置所有节点的MINIO_VOLUMES参数指向同一数据目录(通过网络共享,如NFS),启动命令示例:
minio server http://node1:9000 http://node2:9000 http://node3:9000 http://node4:9000 通过以上步骤,你可在CentOS系统上完成MinIO的单机/集群部署,并通过Web控制台或命令行客户端进行管理。生产环境中,请务必修改默认访问密钥、启用SSL/TLS,并配置持久化存储以确保数据安全。