首先更新系统软件包至最新版本,确保系统稳定性;安装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,并配置持久化存储以确保数据安全。