技术研讨
2025-12-23
技术研讨
0
请注意,本文编写于 162 天前,最后修改于 162 天前,其中某些信息可能已经过时。

目录

把「大盘鸡」做成对象存储和网盘服务
一、整体架构设计
二、准备一台「大盘鸡」VPS
三、安装 MinIO(核心)
1、推荐使用Docker 安装(推荐)
2、创建文件夹
3、创建 docker-compose.yml 文件 需要注意缩进和空格
4、运行文件 注意需要在项目所在目录
5、查看docker网络(记住)
四、绑定域名 + Nginx 反向代理
1、安装nginx
2、 安装机器人(申请证书使用)或者你有其他的申请证书的可以跳过
3、先做好域名的解析
4、申请证书,需要申请两个
5、修改nginx的配置文件
6、查看nginx配置是否正确
7、重新加载nginx服务**
五、创建存储桶,创建Access Keys
1、创建存储桶
2、创建Access Keys
六、api玩法(这里以PicGo上传图片为例)
1、 PicGo 下载合适版本
2、安装minio插件
3、填写配置文件
六、进阶玩法(高玩模式)
七、适合哪些人?
八、总结

把「大盘鸡」做成对象存储和网盘服务

—— 基于云服务器 (VPS)大盘鸡 + MinIO 的私有云存储(对象存储)实战指南

这篇文章,我将完整讲解:

  1. 如何用 VPS + MinIO
  2. 搭建自己的对象存储服务(兼容 S3)
  3. 支持图床 / 视频 / 下载 / API 接口
  4. 打造一个属于你的「网盘系统」

内存涨价、硬盘涨价 云服务价格也水涨船高,都不想要浪费手里面的云资源,那么自建存储系统就可以将你手机的闲置云资源利用起来。

而我们通常把一台大硬盘 服务器 (VPS) 戏称为「大盘鸡」——
如果你擅长使用它,它不仅能存文件,甚至可以成为你自己的 对象存储 + 私有网盘 + 备份系统

一、整体架构设计

先看一下我们的目标架构:

本地 / 程序 / 网站 ↓ 自定义域名 ↓ Nginx ↓ MinIO (对象存储) ↓ VPS硬盘(大盘鸡)

它可以实现:

  • 类似阿里云 OSS / AWS S3 的对象存储能力
  • HTTP / HTTPS 外链访问
  • 程序 API 上传下载
  • 可接 CDN(如 Cloudflare)
  • 可当图床 / 视频库 / 文件分享站

我们需要的核心组件:

组件用途
VPS(大盘鸡)存储空间
MinIO对象存储服务
Nginx反代 + 域名
Docker(可选)易于管理
域名 + SSL对外访问

二、准备一台「大盘鸡」VPS

建议配置:

  • 系统:Ubuntu 20.04 / 22.04
  • 硬盘:100GB 起步(越大越香)
  • 内存:≥ 1GB
  • 带宽:>= 1Mbps(越大体验越好)

本次演示的 VPS 是: 绿云GreenCloud


三、安装 MinIO(核心)

演示的是 ubuntu22.04,其它未测试,Docker的安装是我让ai糅合的一键脚本。其他的系统安装docker需要参考 官方安装方法

1、推荐使用Docker 安装(推荐)

bash
bash <(curl -s https://crazyikun.eu.org/sh/node_docker.sh)

2、创建文件夹

bash
mkdir -p /data/minio/{data,config} cd /data/minio

3、创建 docker-compose.yml 文件 需要注意缩进和空格

yaml
networks: minio-net: driver: bridge services: minio: # 这里的镜像版本可以自己选择 image: minio/minio:RELEASE.2024-01-01T16-36-33Z container_name: minio restart: always # 只监听本机 127.0.0.1,不对公网开放 稍后使用nginx反代 ports: - "127.0.0.1:9000:9000" # S3 API - "127.0.0.1:9090:9090" # Web 控制台 environment: MINIO_ROOT_USER: 控制台账户 MINIO_ROOT_PASSWORD: 控制台密码 # 数据存储在你的数据盘 可自行修改文件映射 冒号前面是本地文件夹 volumes: - /data/minio/data:/data - /data/minio/config:/root/.minio command: server /data --console-address ":9090" networks: - minio-net

参数说明:

参数含义
MINIO_ROOT_USER控制台账户≥ 3 个字符
MINIO_ROOT_PASSWORD控制台密码≥ 8 个字符
9000API 接口端口
9090后台管理端口
/data/minio/data存储目录
/data/minio/config配置文件

4、运行文件 注意需要在项目所在目录

bash
docker compose up

5、查看docker网络(记住)

bash
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' minio

四、绑定域名 + Nginx 反向代理

1、安装nginx

bash
sudo apt update
bash
sudo apt install nginx

2、 安装机器人(申请证书使用)或者你有其他的申请证书的可以跳过

bash
sudo apt install certbot python3-certbot-nginx

3、先做好域名的解析

域名解析示例图

4、申请证书,需要申请两个

bash
sudo certbot --nginx -d 你的域名这里

5、修改nginx的配置文件

# -------------------------- # MinIO 控制台(adminio.examples.com)下面所有的adminio.examples.com都需要替换 # -------------------------- server { listen 443 ssl http2; server_name adminio.examples.com; # 证书路径(请改成你自己的实际路径) ssl_certificate /etc/ssl/examples/fullchain.pem; ssl_certificate_key /etc/ssl/examples/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { # 证书路径(请改成你自己的实际路径) proxy_pass http://172.18.0.2:9090; #如果这里的内网不一样改为上面查看docker的网络 proxy_set_header Host $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 https; proxy_buffering off; # WebSocket 支持(非常关键) proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } # -------------------------- # MinIO API(minio.examples.com)下面所有的minio.examples.com都需要替换 # -------------------------- server { listen 443 ssl http2; server_name minio.examples.com; ssl_certificate /etc/ssl/examples/fullchain.pem; ssl_certificate_key /etc/ssl/examples/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { # 注意末尾去掉斜杠 proxy_pass http://172.18.0.2:9000;#如果这里的内网不一样改为上面查看docker的网络 proxy_set_header Host $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 https; proxy_buffering off; # S3 特殊 Header proxy_set_header Authorization $http_authorization; } }

6、查看nginx配置是否正确

bash
systemctl status nginx

7、重新加载nginx服务**

bash
sudo systemctl restart nginx

相关信息

如果你顺利到了这一步那么恭喜你!

通过浏览器访问你反代9090端口的域名就可以访问你minio

首页登录示例
账户密码就是刚刚docker的配置文件里面设置的

你就拥有了:

✅ 自己的 对象存储服务
✅ 可以放在博客 / 软件 / APP 里使用
✅ 不怕图片失效


五、创建存储桶,创建Access Keys

1、创建存储桶

创建存储桶示例①

创建存储桶示例②

这样你就创建好存储桶了

2、创建Access Keys

创建Access Keys①

创建Access Keys②

注意

这里一定要记住了

六、api玩法(这里以PicGo上传图片为例)

1、 PicGo 下载合适版本

2、安装minio插件

安装minio插件

3、填写配置文件

配置参数需要填的内容
图床配置名称默认或者随便
endPoint域名映射9000端口那个
port443
useSSLyes
允许不安全证书yes
accessKey上面在面板获取的
secretKey上面在面板获取的
bucket存储桶名字
同名文件自定
基础目录自定
自定义域名自定
自定义基础路径自定
自动归档自定
自定义MIME默认即可

提示

MinIO 提供了与 Amazon S3 API 完全兼容的存储服务,使得它能够支持几乎所有 S3 客户端工具和应用程序。具体的api文档可参考S3 API 兼容性

六、进阶玩法(高玩模式)

如果你想玩高级一点:

✅ 接入 Cloudflare 做 CDN
✅ 配合 Nginx 限速 / 鉴权
✅ 设置上传 API (供 App 调用)
✅ 多台 VPS 做分布式存储
✅ rsync / rclone 自动备份到另一台

你就拥有了:

“私人版阿里云 OSS + 百度网盘 + CDN 加速 + 跨国存储系统”

成本:一台大盘鸡的钱。


七、适合哪些人?

这种方案特别适合:

✅ 图床站长
✅ 视频站
✅ 做资源站
✅ 做私有云
✅ 程序员放资料
✅ 备份服务器数据
✅ 自建音乐库、视频库

而且——
它完全属于你!


八、总结

很多人把 VPS 只当服务器,
但实际上,它是你可控的一块「云硬盘」。

大盘鸡 + MinIO = 自由云存储

只要你会一点 Linux,就能:

  • 拥有真正属于自己的网盘
  • 不怕限速,不怕隐私问题
  • 无限扩展玩法

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:猪聪聪

联系邮箱::[email protected]

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!