注册 Cloudflare
创建并验证 Cloudflare 账号,确认资源所属账户,开通 R2,并为 Wrangler 授权做好准备。
Saavo 部署在 Cloudflare Workers 上。本地开发可以先用 Wrangler 模拟 D1、KV、R2、Queue 和 Durable Objects;等到部署预览或正式上线时,才会用到 Cloudflare 上的真实资源。
暂不创建 Cloudflare 资源
本页会注册账号并开通 R2 服务,但不用添加域名,也不用创建 D1、KV、R2 Bucket 或 Queue。首次部署时,deploy:init 会统一创建并绑定项目需要的资源。
先分清用户和账户
Cloudflare 的“用户”和“账户”不是一回事:
| 名称 | 里面有什么 | 与 Saavo 的关系 |
|---|---|---|
| Cloudflare 用户 | 登录邮箱、密码、语言和双重验证设置 | 决定是谁登录 Dashboard、授权 Wrangler |
| Cloudflare 账户 | Workers、D1、KV、R2、域名、成员和账单设置 | 决定 Saavo 实际部署到哪里 |
一个用户可以加入多个 Cloudflare 账户。后面创建 Worker 和各项资源时,必须始终选中同一个账户。Cloudflare 官方文档对这两个概念有更完整的说明。
创建 Cloudflare 账号
注册前先选好邮箱。这个邮箱不仅用于登录,还会接收用量提醒、安全通知和账号找回邮件,最好使用自己经常使用的邮箱地址。如果项目属于公司或者团队,应使用组织能够持续管理的邮箱,并在注册完成后邀请其他成员加入,不要多人共用一套密码。
- 打开 Cloudflare 注册页。
- 填写邮箱和密码。
- 阅读页面上的条款和提示,确认无误后点击 Create account。
- 注册成功后,浏览器会进入 Cloudflare Dashboard。

新建账户默认会使用类似 <你的邮箱>'s Account 的名称。个人项目可以暂时保留;如果同时管理多个项目,建议尽早改成容易辨认的项目名或团队名,免得部署时选错。
验证邮箱
账号创建后,Cloudflare 会自动发送验证邮件。打开邮件中的验证链接,再登录一次 Cloudflare 即可完成验证。
如果一直没有收到邮件:
- 先检查垃圾邮件和邮件拦截规则。
- 登录 Cloudflare Dashboard,点击右上角的用户图标,打开用户菜单中的 Profile。
- 找到 Email Address,点击 Send verification email 重新发送。
验证完成后,邮箱地址旁会显示 verified。如果验证链接已经打开但状态没有变化,可以换一个浏览器或无痕窗口重试,再重新发送一封验证邮件。

不要跳过邮箱验证
未验证邮箱时,部分账户管理功能不可用,双重验证也可能无法正常设置。部署前再回来补验证,往往比现在直接完成更麻烦。
确认资源所属账户
进入 Dashboard 后,先看清当前选中的 Cloudflare 账户。如果只看到一个以邮箱命名的账户,后续可以直接使用;如果已经加入多个账户,请先确定 Saavo 应部署到哪一个,并记住账户名称。
需要修改账户名称时,进入该账户的 Configurations 页面,在 Account Name 一栏点击 Change Name。名称只用于识别,不会改变 Account ID,也不会影响已有资源。
免费计划足以完成本地开发和 workers.dev 预览。此时看到添加域名、选择其他产品或填写账单资料的引导,可以先跳过;等到正式上线,再根据实际用量决定是否升级。
团队项目不要共用登录账号
每位成员应使用自己的 Cloudflare 用户加入同一个账户。这样可以单独分配权限,也能在成员离开时撤销访问,而不必更换所有人的密码。Worker、D1、KV、R2 和 Queue 仍然归团队选定的 Cloudflare 账户所有。
建议开启双重验证(可选)
Cloudflare 用户一旦被盗,域名、生产数据和部署权限都可能受影响。完成邮箱验证后,建议立即开启双重验证(2FA):
- 打开 My Profile → Authentication。
- 在 Two-Factor Authentication 中添加验证器 App 或安全密钥。
- 按页面提示保存备用恢复码,并放到密码管理器等安全位置。
恢复码只在无法使用验证器时才会用到,不要和账号密码放在同一个不加密的文件里。具体设置方法见 Cloudflare 双重验证文档。
开启 R2 访问权限
Cloudflare R2 是对象存储服务,Saavo 默认用它保存头像、工单图片、通知配图等上传文件。正式创建 R2 Bucket 之前,需要先在准备部署 Saavo 的 Cloudflare 账户中开通 R2。
这里的“开启”是给当前账户添加 R2 订阅,不是创建 Bucket,也不是生成 API Token 或 Access Key。按照以下步骤操作:
- 进入 Cloudflare Dashboard,切换到准备部署 Saavo 的账户。
- 在侧边栏打开 Storage & databases → R2 → Overview。
- 如果页面已经显示 Bucket 列表或 Create bucket 按钮,说明这个账户已经开通 R2,可以直接跳到下一节。
- 如果页面提示开通 R2,点击页面上的开通按钮,并按提示完成 Checkout。Cloudflare 可能要求先补充账单资料和付款方式。
- 完成后回到 R2 的 Overview 页面。能够看到 Create bucket 按钮,就说明 R2 已经可以使用。

现在无需创建 Bucket
本节只确认 R2 已开通。Bucket 名称和 Worker Binding 必须与项目配置对应,等 deploy:init 根据 Worker 名称统一创建,避免留下名称不一致的闲置资源。
R2 开通需要绑定额外的付款方式。如果当前账户没有绑定付款方式,Cloudflare 会要求先补充。

中间还会多跳一步,应该是先绑定支付,然后再开通 R2 的默认流程,点击 Continue to R2 按钮即可。

如果银行卡没有问题,应该就可以正常开通了。开通后会自动跳转到 R2 的 Overview 页面,能够看到 Create bucket 按钮,就说明 R2 已经可以使用。

R2 按存储量和操作次数计费,并提供每月免费用量;超出后会产生费用。免费用量只适用于 Standard 存储类型,不适用于 Infrequent Access。具体额度和价格可能调整,请以 R2 官方价格说明为准。
不需要创建 R2 API Token
Saavo 的常规文件上传通过 Worker 的 MAIN_R2 Binding 读写 Bucket,Wrangler 则使用后面的 OAuth 登录。只有自行接入 S3 API 或签发临时上传、下载链接时,才需要额外创建 R2 API Token;不要在本节提前生成长期凭据。
如果团队成员看不到开通按钮,或者无法完成 Checkout,通常是当前角色没有同时管理订阅和付款方式的权限。请让该账户的 Super Administrator 完成开通,不要改到另一个账户继续操作。
项目安装后登录 Wrangler(可选)
Wrangler 随 Saavo 项目依赖安装,不需要全局再装一份。如果你正按文档顺序准备环境,可以先跳过这一步;等项目下载并执行过 npm install 后,再回到项目根目录运行:
npx wrangler loginWrangler 会打开浏览器,通过 OAuth 请求访问 Cloudflare。确认浏览器中登录的是刚才准备好的用户,检查授权页面后允许访问。终端显示登录成功后,再执行:
npx wrangler whoami输出中应包含登录邮箱,以及这个用户能够访问的 Cloudflare 账户和 Account ID。后面配置资源时,用 Account ID 核对目标账户,不能只凭账户名称判断。
浏览器没有自动打开
保持终端中的登录命令继续运行,把终端打印的授权 URL 复制到浏览器打开。授权完成后还要回到终端,确认它已经显示登录成功。
登录用户不等于固定了部署账户
Wrangler 的 OAuth 授权对应 Cloudflare 用户;当这个用户能访问多个账户时,最终部署位置仍由项目配置中的 Account ID 和各项资源 ID 决定。后面创建资源前,请再次运行 npx wrangler whoami 核对。
到这里先确认三件事:邮箱已经验证,能够进入准备部署 Saavo 的 Cloudflare 账户,并且该账户已经开通 R2。项目安装完成后,再用 Wrangler 做最后一次授权检查。
下一页:安装 Git。