文件服务--MinIO

117 阅读3分钟

🚀 引言

Linux 上安装 MinIO 很常见,一般有两种方式:直接运行二进制程序Docker 部署

🚀 方法一:直接安装(官方推荐)

1. 下载 MinIO Server

sudo wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio

如图: 20cc56a9-0bec-4491-b0da-93a030fcc750.png

2. 赋予可执行权限

sudo chmod +x /usr/local/bin/minio

3. 创建数据存储目录

sudo mkdir -p /data/minio

如图:

c976c06f-1eda-4736-bb94-d3694d8c38a7.png

4. 设置账号密码(必须 8 位以上)

export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678

如图:

image.png

5. 启动 MinIO

minio server /data/minio --console-address ":9001"
  • API 服务端口:9000
  • 控制台管理端口:9001
  • 打开浏览器访问:http://服务器IP:9001

6. 问题排查:

6.1 问题一

image.png 这个错误表明 MinIO 服务没有足够的权限访问 /data/minio 目录。以下是完整的解决方案:

1. 修复目录权限(关键步骤)
sudo chown -R $USER:$USER /data/minio  # 将目录所有权给当前用户
sudo chmod -R 755 /data/minio         # 设置正确权限
2. 检查存储目录状态
ls -ld /data/minio                    # 检查目录权限
df -h /data                           # 检查磁盘空间和挂载状态
3. 以正确用户身份启动(两种方式)
方式一:当前用户直接启动
minio server /data/minio --console-address ":9001"

如图:

image.png

如需要后台启动:

nohup minio server /data/minio --console-address ":9001" > ~/minio.log 2>&1 &
方式二:创建专用系统用户(推荐生产环境)
sudo useradd -r -s /sbin/nologin minio-user
sudo chown -R minio-user:minio-user /data/minio
sudo -u minio-user minio server /data/minio --console-address ":9001"
4. 检查SELinux状态(如果启用)
sudo setenforce 0                     # 临时禁用SELinux
# 或永久解决方案
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

如图:

image.png

5. 验证是否解决
ps aux | grep minio                  # 检查进程是否运行
netstat -tulnp | grep 9001           # 检查端口监听
curl http://localhost:9001           # 测试控制台访问
6. 持久化配置(可选)

创建 systemd 服务文件:

sudo tee /etc/systemd/system/minio.service <<EOF
[Unit]
Description=MinIO
After=network.target

[Service]
User=minio-user
Group=minio-user
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001"
Restart=always

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable --now minio

🚀 方法二:Docker 部署

1. 拉取镜像

docker pull minio/minio

2. 启动容器

docker run -d \
  -p 9000:9000 \
  -p 9001:9001 \
  -e MINIO_ROOT_USER=admin \
  -e MINIO_ROOT_PASSWORD=12345678 \
  -v /data/minio:/data \
  --name minio \
  minio/minio server /data --console-address ":9001"
  • 数据目录:/data/minio
  • API:http://服务器IP:9000
  • 控制台:http://服务器IP:9001

📦 开机自启(systemd 管理)

如果用的是 方法一(二进制) ,可以创建服务文件:

vim /etc/systemd/system/minio.service

内容:

[Unit]
Description=MinIO
After=network.target

[Service]
User=root
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001"
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=12345678"
Restart=always

[Install]
WantedBy=multi-user.target

然后:

systemctl daemon-reload
systemctl enable minio
systemctl start minio

✅ 总结

  • 开发环境:可以直接运行二进制或 Docker。
  • 生产环境:推荐 Docker + Nginx 反向代理,再配合 HTTPS。