六维教程

Cloudflare Workers 调试与线上部署

前 10 篇学完了开发、存储、定时任务,这一篇把完整的开发闭环串起来,覆盖本地调试、线上日志、正式部署、自定义域名和版本回滚。

完整开发闭环

一个功能的完整流程是

写代码 → 本地调试 → 线上部署 → 查看线上日志 → 出问题回滚 → 迭代

下面逐个环节讲解对应工具。

本地调试

wrangler dev 运行期间,代码里的 console.log 会直接输出到终端

export default {
  async fetch(request, env, ctx) {
    console.log("收到请求", request.method, request.url);
    const data = { name: "Alice" };
    console.log("返回数据", JSON.stringify(data));
    return Response.json(data);
  },
};

调试要点

技巧 说明
console.log 打点 输出变量值,观察执行流程
临时返回调试信息 把中间结果拼进响应体直接查看
触发定时任务 curl http://localhost:8787/__scheduled?cron=*+*+*+*+*

调试线上资源

本地默认模式用的是模拟环境,如果要调试线上真实的 KV、D1、密钥,用远程模式

wrangler dev --remote

--remote 模式下代码还在本地编辑,热更新依旧生效,但数据资源全部指向线上,非常适合排查”本地正常线上异常”的问题。

查看线上日志

线上代码里的 console.log 不会直接显示,需要用命令实时查看

wrangler tail

执行后终端进入监听状态,每次请求到达都会输出日志,包含请求信息和你打印的内容。排查线上问题时先开 tail,再复现问题,日志一目了然。

仪表盘也有可视化的查看入口,在 Worker 的 指标 和 日志 页面可以查看请求量、错误率、异常堆栈等数据。

正式部署

本地调试通过后,部署到线上

wrangler deploy

部署成功后输出线上地址

Uploaded my-worker (1.02 sec)
Deployed my-worker
https://my-worker.你的子域.workers.dev

访问这个地址即可线上访问。之后每次修改代码,执行 wrangler deploy 覆盖更新,每次部署都会生成一个新版本,旧的版本会保留。

自定义域名绑定

workers.dev 子域名适合开发测试,正式上线建议绑定自己的域名。前提是域名已经托管在 Cloudflare(DNS 接入)。

绑定步骤

  1. 进入仪表盘的 Workers 和 Pages
  2. 选择目标 Worker
  3. 进入 设置 页面
  4. 找到 域和路由
  5. 点击 添加自定义域
  6. 输入你的域名,例如 api.example.com
  7. 确认绑定

绑定完成后,访问 https://api.example.com 就能到达这个 Worker。Cloudflare 会自动配置 DNS 和 HTTPS 证书,不需要额外操作。

版本回滚

每次部署生成的新版本可能存在故障,需要快速回退到上一个可用版本。

命令行方式

# 查看版本列表
wrangler versions list

# 回滚到上一个版本
wrangler rollback

# 回滚到指定版本
wrangler rollback <版本ID>

仪表盘方式,在 Worker 的 部署 页面可以看到所有版本的部署记录,找到目标版本点击 回滚 即可,效果与命令相同。

回滚是线上事故的第一响应手段。牢记顺序,先回滚恢复服务,再慢慢排查问题原因。

生产环境注意事项

事项 说明
固定 compatibility_date 保证平台行为不随升级而变
密钥走 secrets Cloudflare Workers 环境变量与密钥管理
数据库迁移先本地后线上 Cloudflare Workers D1 数据库
发布前先 tail 观察 部署后立刻开 tail 盯几分钟
保存可靠的版本记录 回滚依赖版本记录,别删旧版本

到这里,从开发到上线的完整闭环已经建立。剩余两篇进入进阶难点,先学 Durable Objects 状态协调。

上一篇 Cloudflare Workers 定时任务
下一篇 Cloudflare Workers Durable Objects

上一篇
Cloudflare Workers 定时任务
下一篇
Cloudflare Workers Durable Objects