> ## Content Index
> Fetch the complete content index at: https://isoziyuan.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# 小白零基础教程：基于 Cloudflare Pages + R2 + D1 搭建私有轻量网盘与文件快传系统（0服务器/不限速）
- URL: https://isoziyuan.com/p/100140/
- Published: 2026-09-10T18:05:56.000Z
- Updated: 2026-09-10T18:05:56.000Z
- Author: Isoziyuan
- Tags: 建站教程, Cloudflare, 免费资源, 开源项目

> **作者**：爱搜资源  
> **难度**：★★☆☆☆（超详细保姆级，跟着点鼠标就能搭建完成）  
> **预计耗时**：10 \~ 15 分钟  
> **开源项目**：[https://github.com/yys9253462-gif/isoziyuan-pan](https://github.com/yys9253462-gif/isoziyuan-pan?ref=isoziyuan.com)  
> **演示站点**：[https://pan.ailxw.com](https://pan.ailxw.com/?ref=isoziyuan.com)

---

## 🌟 为什么你需要这个私有网盘？

平常分享大文件或资源给朋友、客户时，传统方式往往非常折磨：

- **公共网盘限速严重**：下载还要强制安装客户端、注册登录，甚至不开会员只有几十 KB/s；
- **自建网盘服务器太昂贵**：买台云主机，带宽只有小水管 3M\~5M，传几个大文件瞬间把服务器流量或带宽跑爆；
- **搭建维护门槛高**：Nextcloud、Alist 等虽然好用，但需要维护 Linux 服务器、反向代理、SSL 证书与挂载存储。

今天教大家搭建的 **`isoziyuan-pan`** 彻底颠覆了这一切：

- ⚡ **纯 Serverless 架构，完全无需购买 VPS 服务器**；
- 📦 **类似蜂巢快递柜的 5 位数字取件码体验**：支持输入取件码即刻下载，支持阅后即焚、限制下载次数或设置有效天数；
- 💰 **极致省钱（真正 0 成本）**：文件存储在 **Cloudflare R2**（每月赠送 10GB 永久免费存储，且**全球出网流量完全 0 元，不限速**）；
- 🚀 **大文件客户端直传（Presigned PUT）**：上传与下载直连 R2，完全不消耗 Workers 的 CPU 执行时间，哪怕传几个 G 的文件也极其稳定！

---

## 📋 准备工作

开始前只需要准备两个免费账号：

1. **GitHub 账号**：[https://github.com](https://github.com/?ref=isoziyuan.com)
2. **Cloudflare 账号**（需开通 R2 存储功能，免费版绑定一张双币信用卡或 PayPal 进行身份验证即可，日常完全在免费额度内，不产生任何扣费）：[https://dash.cloudflare.com](https://dash.cloudflare.com/?ref=isoziyuan.com)

---

## 第一部分：Fork 开源项目到你的 GitHub 仓库

1. 打开网盘开源项目仓库：  
👉 [https://github.com/yys9253462-gif/isoziyuan-pan](https://github.com/yys9253462-gif/isoziyuan-pan?ref=isoziyuan.com)
2. 点击页面右上角的 **`Fork`** 按钮；
3. 仓库名保持默认 `isoziyuan-pan`，点击 **`Create fork`**；
4. 稍等片刻，项目代码就完整克隆到了你的 GitHub 账号下。

---

## 第二部分：在 Cloudflare 创建存储与数据库服务

在部署网页之前，我们需要先准备好存放文件的 **R2 存储桶** 和保存文件目录与取件码的 **D1 数据库**。

### 第 1 步：创建 R2 对象存储桶（放文件）

1. 登录进入 [Cloudflare 控制台](https://dash.cloudflare.com/?ref=isoziyuan.com)；
2. 在左侧菜单栏点击 **`存储和数据库` (Storage & Databases)** → **`R2 对象存储` (R2 Object Storage)**；
3. 点击右侧的 **`创建存储桶` (Create bucket)**；
4. **存储桶名称 (Bucket name)**：填写 `forum-uploads`（或者自定义名称，如 `my-pan-bucket`）；  
> 💡 提示：如果填写了其他名字，待会绑定时请选择该名字。
5. 存储位置保持默认（自动），点击右下角 **`创建存储桶`**。

### 第 2 步：创建 D1 关系型数据库（存元数据与取件码）

1. 仍然在左侧菜单栏点击 **`D1 SQL 数据库` (D1 SQL database)**；
2. 点击右上角 **`创建数据库` (Create database)**；
3. 数据库名称填入：`isoziyuan-pan-db`，点击创建。

### 第 3 步：执行 SQL 建表

1. 点击刚创建好的 `isoziyuan-pan-db`，切换到上方的 **`控制台` (Console)** 标签页；
2. 返回你的 GitHub 仓库，打开根目录下的 **`schema.sql`** 文件，全选并复制代码；
3. 粘贴到 D1 控制台输入框中，点击 **`执行` (Execute)**；
4. 提示执行成功后，用于存放文件信息表、取件码表（`shares`）、容量用量统计表（`storage_usage`）就全部初始化完毕了！

---

## 第三部分：部署 Cloudflare Pages 前端与接口

1. 在 Cloudflare 控制台左侧点击 **`Workers 和 Pages`**；
2. 点击右上角 **`创建应用程序` (Create application)** → 选择 **`Pages`** 标签页 → 点击 **`连接到 Git` (Connect to Git)**；
3. 授权 GitHub 后，在仓库列表中勾选你刚才 Fork 的 **`isoziyuan-pan`**，点击 **`开始设置`**；
4. 构建参数填写如下（务必仔细核对）：  
  - **项目名称 (Project name)**：`isoziyuan-pan`
  - **生产分支 (Production branch)**：`main`
  - **框架预设 (Framework preset)**：`None`
  - **构建命令 (Build command)**：**留空，什么都不要输入！**
  - **构建输出目录 (Build output directory)**：填入一个单点 **`.`**
5. 点击底部的 **`保存并部署` (Save and Deploy)**。

部署大约耗时 20 秒，完成后你会获得一个默认访问地址（如 `https://isoziyuan-pan.pages.dev`）。此时打开网页会看到取件界面，但还不能上传文件，因为我们还没完成绑定。

---

## 第四部分：关键环节 —— 绑定 R2 存储桶、D1 数据库与管理密码

这是整套系统最核心的一步，请按以下步骤依次配置：

### 1\. 绑定 D1 数据库

1. 进入你刚刚创建的 `isoziyuan-pan` Pages 项目；
2. 依次点击上方 **`设置` (Settings)** → 左侧 **`函数` (Functions)**；
3. 向下滚动找到 **`D1 数据库绑定` (D1 Database Bindings)**，点击 **`添加绑定` (Add binding)**：  
  - **变量名称 (Variable name)**：必须填写大写的 **`DB`**；
  - **D1 数据库**：下拉选择 `isoziyuan-pan-db`；
4. 点击保存。

### 2\. 绑定 R2 存储桶

1. 依然在当前页面的函数绑定列表中，找到 **`R2 存储桶绑定` (R2 Bucket Bindings)**，点击 **`添加绑定`**：  
  - **变量名称 (Variable name)**：必须填写大写的 **`R2`**；
  - **R2 存储桶**：下拉选择第一步创建的 `forum-uploads`（或你自定义的桶名）；
2. 点击保存。

### 3\. 配置管理员密码与安全密钥（Environment Variables）

1. 在当前项目的 **`设置` (Settings)** 中，点击左侧菜单的 **`环境变量` (Environment variables)**；
2. 在 **`生产` (Production)** 栏目中点击 **`添加变量` (Add variable)**，依次添加以下两个变量：  
  - 变量 1：  
    - 变量名：`ADMIN_PASSWORD`
    - 值：输入你想设置的后台管理密码（例如 `AdminPan@2026`）
    - **务必勾选：`加密` (Encrypt)**
  - 变量 2：  
    - 变量名：`SESSION_SECRET`
    - 值：输入一串长随机字符（用于会话安全加密，例如 `a98f7bc2e148df2048cf6e`）
    - **务必勾选：`加密` (Encrypt)**
3. 点击 **`保存`**。

### 4\. 触发重试部署生效

> ⚠️ **新手避坑核心要点**：每次新增了绑定或修改了环境变量后，**必须手动重新部署一次**，否则云函数代码读取不到新绑定的数据库和密钥！  
> 点击顶部的 **`部署` (Deployments)** 标签，在最新一条记录右侧点击 `...`，选择 **`重试部署` (Retry deployment)**。

---

## 第五部分：登录后台，体验极速上传与取件码分享！

1. 在浏览器中打开：`https://你的项目名.pages.dev/admin.html`；
2. 输入你设置的 `ADMIN_PASSWORD` 点击登录，即可进入充满高级暗黑拟态风格的管理后台；
3. **创建文件夹与上传**：  
  - 可以随意新建多级目录分类存放文件；
  - 点击“上传文件”，直接把电脑里的大文件或图片拖入，页面直接显示直传进度条，秒传上云！
4. **生成 5 位取件码**：  
  - 在任何已上传的文件右侧，点击 **“分享 / 取件码”**；
  - 可以设置：  
    - 📅 **有效期限**：1小时、1天、7天或永久有效；
    - 🔢 **下载次数**：不限次数、或者仅允许下载 1 次（阅后即焚防泛滥）；
  - 点击生成后，会得到一个像 `68291` 这样的 5 位数字取件码以及直接下载的直达链接！
5. **极速取件测试**：  
  - 打开首页 `https://你的项目名.pages.dev`，直接输入 `68291`，按回车瞬间自动解析文件名并调起浏览器高速下载！

---

## 第六部分：绑定自定义专属域名（如 pan.ailxw.com）

1. 进入 Pages 项目的 **`自定义域` (Custom domains)** 标签页；
2. 点击 **`设置自定义域`**，填入你的专属二级域名，例如 `pan.ailxw.com`；
3. 点击继续，Cloudflare 会全自动处理 DNS 解析与免费 SSL 证书签发；
4. 1 分钟后，你就可以直接通过自己干净好记的域名 `https://pan.ailxw.com` 分享文件给任何人了！

---

## 🚨 新手避坑指南与常见报错

| 常见问题排查                         | 背后根本原因          | 一键解决办法                                                                 |
| ------------------------------ | --------------- | ---------------------------------------------------------------------- |
| **上传文件提示 Upload Failed / 403** | R2 绑定未配置或变量名写错  | 检查 Settings → Functions → R2 绑定，变量名称必须是大写的 **R2**。                     |
| **登录后台提示 401 Unauthorized**    | 密码环境变量未生效       | 确认添加了 ADMIN\_PASSWORD，并在 Deployments 页面点击一次 **Retry deployment** 重试部署。 |
| **取件提示 500 / 数据库错误**           | D1 绑定名称错误或未执行建表 | 1\. 确认 D1 绑定变量名是大写 **DB**；2\. 确认在 D1 控制台执行了 schema.sql 建表语句。           |
| **大文件上传途中卡死**                  | 走了中转而非直传        | 本项目已采用 Presigned URL 客户端直连模式，确保本地网络不中断即可。                              |

---

## 🎁 本地修改进阶：一键双击极速发布

如果您将代码 Clone 到了本地电脑进行 UI 微调或二次开发，根目录下同样贴心内置了：  
📂 **`一键发布到Cloudflare.bat`**

平常改动代码后，**直接双击运行它**，脚本会自动比对 Git 差异、提交到 GitHub 并直推 Cloudflare Pages 边缘节点，全程仅需 2 秒，省去所有繁琐的手动部署步骤！

赶快动手搭建一个专属于你的高速、私密、永久免费的个人网盘吧！