搬瓦工搭建 MinIO S3 兼容对象存储服务完整教程

MinIO 是一款高性能的开源对象存储服务器,完全兼容 Amazon S3 API。你可以将其作为自托管的 S3 服务,用于存储图片、视频、备份文件等非结构化数据。许多应用程序(如 Nextcloud、GitLab、WordPress 等)都支持 S3 兼容存储后端,部署 MinIO 可以为这些应用提供统一的存储服务。本文将介绍如何在搬瓦工 VPS 上通过 Docker 部署 MinIO。

一、准备工作

1.1 系统要求

  • 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
  • 内存:至少 512MB,推荐 1GB 以上。
  • 磁盘空间:程序约 100MB,数据存储按需准备。
  • Docker:需提前安装,参考 Docker 安装教程

1.2 创建目录

mkdir -p /opt/minio/data
mkdir -p /opt/minio/config

二、Docker Compose 部署

2.1 创建配置文件

cd /opt/minio
cat > docker-compose.yml <<'EOF'
version: '3.8'

services:
  minio:
    image: minio/minio:latest
    container_name: minio
    restart: unless-stopped
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: your_secure_password
    volumes:
      - ./data:/data
      - ./config:/root/.minio
    command: server /data --console-address ":9001"
EOF

端口说明:

  • 9000:S3 API 端口,用于程序访问。
  • 9001:Web 控制台端口,用于图形界面管理。

请将 your_secure_password 替换为安全密码(至少 8 个字符)。

2.2 启动服务

docker compose up -d

2.3 访问控制台

浏览器访问 http://你的服务器IP:9001,使用配置中的 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 登录 Web 控制台。

三、基本操作

3.1 创建存储桶

在 Web 控制台中点击「Buckets」→「Create Bucket」,输入存储桶名称。存储桶名称必须全小写,只能包含字母、数字和连字符。

3.2 上传文件

进入存储桶后,点击「Upload」按钮可以通过 Web 界面上传文件或文件夹。也可以使用 MinIO 客户端命令行工具。

3.3 安装 mc 客户端

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mv mc /usr/local/bin/

# 配置服务器别名
mc alias set myminio http://localhost:9000 minioadmin your_secure_password

# 列出存储桶
mc ls myminio

# 上传文件
mc cp localfile.txt myminio/mybucket/

# 下载文件
mc cp myminio/mybucket/remotefile.txt ./

# 列出存储桶内容
mc ls myminio/mybucket/

四、访问策略配置

4.1 创建访问密钥

在 Web 控制台的「Access Keys」中创建新的 Access Key 和 Secret Key,用于程序通过 S3 API 访问 MinIO。建议为不同的应用创建独立的访问密钥。

4.2 存储桶访问策略

每个存储桶可以设置以下访问策略:

  • Private:需要认证才能访问(默认)。
  • Public:任何人都可以读写。
  • Custom:自定义 IAM 策略。

如果你想将存储桶用于网站静态资源托管,可以设置只读公开访问策略。

4.3 用户和组管理

在「Identity」→「Users」中可以创建子用户,分配不同的访问权限。通过「Groups」可以按组管理用户权限,适合团队协作场景。

五、与应用集成

5.1 作为备份存储

MinIO 兼容 S3 API,可以配合各种备份工具使用。以 restic 为例:

export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key

restic -r s3:http://localhost:9000/backups init
restic -r s3:http://localhost:9000/backups backup /path/to/data

5.2 作为 Docker Registry 后端

MinIO 可以作为 Docker Registry 的存储后端,替代本地文件系统存储。

5.3 与 Nextcloud 集成

在 Nextcloud 中可以将 MinIO 配置为外部存储或主存储后端,实现存储与计算分离。

六、Nginx 反向代理

# S3 API 代理
server {
    listen 443 ssl http2;
    server_name s3.example.com;

    ssl_certificate /etc/letsencrypt/live/s3.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/s3.example.com/privkey.pem;

    client_max_body_size 0;
    proxy_buffering off;

    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_connect_timeout 300;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        chunked_transfer_encoding off;
    }
}

# Web 控制台代理
server {
    listen 443 ssl http2;
    server_name minio.example.com;

    ssl_certificate /etc/letsencrypt/live/minio.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/minio.example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:9001;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

七、维护与监控

7.1 更新 MinIO

cd /opt/minio
docker compose pull
docker compose up -d

7.2 查看存储状态

mc admin info myminio

7.3 备份配置

tar -czf minio-config-backup.tar.gz -C /opt/minio config/

总结

MinIO 是搭建私有 S3 兼容对象存储的最佳方案,在搬瓦工 VPS 上部署后可以为各种应用提供统一的存储服务。它的性能优异、配置简单,并且拥有功能完善的 Web 控制台。如果你需要文件同步功能,可以参考 SyncthingSeafile 教程。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。如遇问题,可前往 搬瓦工官网 提交工单。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。