07. 上线检查和常见报错
这一章是最后的验收清单。
建议你边看边对照,不要凭感觉说”应该好了”。
1. 上线检查清单
Section titled “1. 上线检查清单”- 主站首页能打开
- 后台登录页能打开
- 你能用
ADMIN_SECRET登录后台 Projects页面能看到你创建的项目Health页面能看到主要服务状态
- 用户可以注册
- 用户可以登录
- 用户可以打开 pricing 页面
- 用户可以打开 dashboard 页面
- 博客列表能正常显示
- banner 能正常显示
- friend links 能正常显示
- AI chat 不报错
- check-in 不报错
2. 最常见报错 1:service binding target not found
Section titled “2. 最常见报错 1:service binding target not found”- 你没提前创建 10 个空 Worker
- 你改了 Worker 名称
- 你登录错了 Cloudflare 账号
- 去 Dashboard 确认那 10 个 Worker 是不是都存在
- 确认名字是不是和仓库里完全一致
- 执行
npx wrangler whoami,确认当前账号没错
3. 最常见报错 2:D1 / KV / R2 资源找不到
Section titled “3. 最常见报错 2:D1 / KV / R2 资源找不到”- 你没创建资源
- 你创建了资源,但没写回
wrangler.jsonc - 你创建在另一个账号或另一个环境下
先执行:
rg -n "00000000-0000-0000-0000-000000000000|placeholder-replace-after-create" backend/*/wrangler.jsonc如果还能搜到占位符,先回去把资源补齐。
4. 最常见报错 3:后台登录 401
Section titled “4. 最常见报错 3:后台登录 401”ADMIN_SECRET输入错了- 你修改了
wrangler.jsonc但没重新部署node1-auth-service - 线上跑的不是你当前本地看到的配置
- 确认
backend/node1-auth-service/wrangler.jsonc里的值 - 重新执行:
pnpm --dir backend/node1-auth-service deploy- 再重新登录后台
5. 最常见报错 4:页面能开,但数据全是空
Section titled “5. 最常见报错 4:页面能开,但数据全是空”- 你的
APP_KEY和后台项目不一致 - 后台根本没有这个
app_key - 你先改了前端变量,没在后台创建对应项目
第一遍部署最稳妥的做法就是:
- 先用
demo - 后台也先创建
demo
等完全跑通,再换成你自己的 app_key
6. 最常见报错 5:支付页能打开,但不能支付
Section titled “6. 最常见报错 5:支付页能打开,但不能支付”node3-pay-service没有配置 Stripe / Creem 密钥- 后台没有创建 Price Config
- 项目没有绑定支付通道
去后台逐项检查:
Pay ChannelsPrice Config- 项目绑定关系
7. 最常见报错 6:AI 页面能打开,但发消息报错
Section titled “7. 最常见报错 6:AI 页面能打开,但发消息报错”node10-ai-service没有配置 Cloudflare AI Gateway 变量- 后台 AI 模型没有启用
- 模型价格和配置没有补齐
同时检查两边:
backend/node10-ai-service/wrangler.jsonc- 后台
AI页面
8. 最常见报错 7:Pages 部署报 Invalid binding SESSION
Section titled “8. 最常见报错 7:Pages 部署报 Invalid binding SESSION”apps/web 的 Cloudflare 运行时里需要 SESSION KV binding。
- 创建一个 KV namespace
- 进入对应 Pages 项目
Settings->Functions- 添加一个名字叫
SESSION的 KV binding - 重新部署
9. 最后一个建议
Section titled “9. 最后一个建议”第一版部署成功以后,你下一步不要立刻做”大改造”。
先做这三件事:
- 把你修改过的
wrangler.jsonc和文档一起保存好 - 记下你所有生产资源名称
- 把当前能成功部署的步骤固化成团队内部 SOP
这样你以后换电脑、换同事、换客户项目时,才不会重新踩一遍坑。