🎉 欢迎访问并使用我搭建的网盘: 👉 https://drive.oldplum.dev
搭建个人专属网盘
本文完整记录了我在 Azure 学生订阅上,从零开始搭建个人网盘的全过程。所有操作均基于真实环境,希望能为同样想拥有私有云存储的朋友提供一份可参考的实践指南。
一、为什么选择自建网盘?
商业网盘越来越难用——免费用户下载限速、文件被自动清理、分享链接动不动就失效。我想找一个完全由自己掌控的解决方案:数据存在自己的服务器上,不限速,不审查,想怎么用就怎么用。
最终我选择了 Cloudreve。它是一个开源的网盘系统,支持本地存储、OneDrive、阿里云OSS等多种存储后端,具备文件管理、分享、在线预览、WebDAV 等功能。简单说,就是自己搭的某度网盘,但比某度网盘好用太多。
二、准备工作
搭建网盘需要一台服务器和一个域名。作为学生,我用了两个免费资源:
- 服务器:通过 GitHub Student Developer Pack 激活的 Microsoft Azure 学生订阅,获得 $100 美元免费额度,无需绑定信用卡即可创建虚拟机。
- 域名:在 Namecheap 等平台注册的域名(我注册的是
oldplum.dev),托管到 Cloudflare 进行 DNS 解析和 CDN 加速。
三、在 Azure 上创建虚拟机
- 登录 Azure 门户,进入 “虚拟机” → “创建”。
- 选择 Ubuntu 24.04 LTS 镜像,虚拟机规格选择 Standard_B2ats_v2(2核 vCPU,1GB 内存)——这个规格在 Azure 学生订阅中完全免费,每月有 750 小时的免费额度。
- 身份验证类型选择 SSH 公钥,Azure 会自动生成密钥对并下载
.pem私钥文件——务必妥善保存,这是连接服务器的唯一凭证。 - 在 “磁盘” 选项卡中,将 OS 磁盘大小改为 64 GiB,这是免费套餐允许的最大值。
- 在 “网络” 选项卡中,放行 SSH (22) 端口,方便后续远程管理。
- 点击 “创建”,等待部署完成。
四、安装 Cloudreve
通过 SSH 连接到服务器(使用之前下载的 .pem 私钥),然后执行以下步骤。
1. 下载并解压 Cloudreve
从 Cloudreve 的 GitHub Releases 页面获取最新版本:
1 | # 创建并进入 Cloudreve 目录 |
2. 首次启动并获取管理员密码
1 | ./cloudreve |
首次启动时,终端会输出初始管理员账号和密码,格式类似:
1 | [Info] 初始管理员账号:admin@cloudreve.org |
务必记下这个密码,它只在首次启动时显示。按 Ctrl+C 停止进程。
3. 配置为系统服务(开机自启)
创建 systemd 服务文件,让 Cloudreve 在后台持续运行:
1 | sudo tee /etc/systemd/system/cloudreve.service <<EOF |
启动并设置开机自启:
1 | sudo systemctl daemon-reload |
此时,Cloudreve 默认监听 5212 端口,通过 http://服务器IP:5212 即可访问。
五、配置 Nginx 反向代理与域名
直接用 IP:5212 访问不够方便,也不够安全。通过 Nginx 反向代理可以将域名绑定到网盘,并配合 Cloudflare 实现 HTTPS 加密。
1. 安装 Nginx
1 | sudo apt update |
2. 创建 Nginx 站点配置
1 | sudo nano /etc/nginx/sites-available/cloudreve |
写入以下配置(将 drive.oldplum.dev 替换为你的实际域名):
1 | server { |
启用配置并重载 Nginx:
1 | sudo ln -s /etc/nginx/sites-available/cloudreve /etc/nginx/sites-enabled/ |
3. 在 Cloudflare 绑定域名
- 登录 Cloudflare,将你的域名(如
oldplum.dev)添加到 Cloudflare。 - 在 DNS 设置中,添加一条 A 记录:
- 名称:
drive(即子域名drive.oldplum.dev) - 内容:你的 Azure 虚拟机公网 IP
- 代理状态:开启 橙色云(已代理)
- 名称:
- 在 SSL/TLS 设置中,将加密模式设为 “灵活”(Flexible)——Cloudflare 与用户之间 HTTPS 加密,与源服务器之间 HTTP 通信。
等待 DNS 解析生效(通常几分钟),然后访问 https://drive.oldplum.dev,就能看到 Cloudreve 的登录页面了。
六、后续配置与优化
1. 修改站点 URL
登录 Cloudreve 后台,进入 管理面板 → 参数设置 → 站点信息,将 站点 URL 改为 https://drive.oldplum.dev。这样生成的文件分享链接、预览链接都会使用正确的域名。
2. 调整存储策略
在 管理面板 → 存储策略 中,可以配置上传文件的实际存储位置(默认在服务器本地),也可以挂载 OneDrive、阿里云 OSS 等第三方存储。
3. 开启 HTTPS 强制跳转
在 Cloudflare 的 SSL/TLS → 边缘证书 中,开启 “始终使用 HTTPS”,所有 HTTP 请求会自动跳转到 HTTPS。
七、效果与感受
搭建完成后,我拥有了一个完全属于自己的私有网盘:
- 不限速:下载速度只取决于服务器带宽和用户网络,没有商业网盘那种“几十 KB/s”的折磨。
- 无审查:文件存在自己的服务器上,不会被平台“误判违规”而自动删除。
- 功能完整:支持在线预览图片、视频、Office 文档,支持创建分享链接(可设密码和过期时间),还支持 WebDAV 协议,可以像本地文件夹一样挂载到电脑上使用。
最重要的是,Azure 学生订阅的 $100 额度完全覆盖了这台虚拟机的运行成本——虚拟机本身是免费的,只有公网 IP 产生少量费用(约 $0.12/天),$100 额度足够用很久。
如果你也想摆脱商业网盘的束缚,不妨动手试一试。整个过程大概需要一两个小时,但换来的是一个完全由自己掌控的云存储空间,这笔投资很值得。
致谢
特别感谢 mk dk 在搭建过程中提供的测试和帮助!🎉