部署指南
部署到 Cloudflare Workers 和 Pages
概述
EasyStarter 针对 Cloudflare 部署进行了优化:
- Web: Cloudflare Pages
- Server: Cloudflare Workers
前置条件
- Cloudflare 账户
- 配置好的 Wrangler CLI
- 已创建的 D1 数据库
快速部署
# 同时部署 web 和 server
pnpm run deploy
# 单独部署
pnpm deploy:web
pnpm deploy:server首次部署
1. 初始部署
pnpm run deploy这将输出你的生产环境 URL:
- Web:
https://your-app.pages.dev - Server:
https://your-api.workers.dev
2. 更新配置
Server (apps/server/wrangler.jsonc):
{
"vars": {
"WEBSITE_URL": "https://your-app.pages.dev",
"SERVER_URL": "https://your-api.workers.dev",
},
}Web (apps/web/.env.production):
VITE_SERVER_URL=https://your-api.workers.dev
VITE_APP_URL=https://your-app.pages.dev3. 重新部署
pnpm run deploy环境变量
Server 密钥
使用 Wrangler 设置密钥:
cd apps/server
# 认证
npx wrangler secret put AUTH_SECRET
# OAuth
npx wrangler secret put GITHUB_CLIENT_ID
npx wrangler secret put GITHUB_CLIENT_SECRET
npx wrangler secret put GOOGLE_CLIENT_ID
npx wrangler secret put GOOGLE_CLIENT_SECRET
# 邮件
npx wrangler secret put RESEND_API_KEY数据库迁移
在生产环境 D1 上运行迁移:
cd apps/server
pnpm db:migrate --remote自定义域名
- 前往 Cloudflare Dashboard → Pages → 你的项目
- 导航到「自定义域」
- 添加你的域名
- 按照指示更新 DNS 记录
常见问题
| 问题 | 解决方案 |
|---|---|
| CORS 错误 | 检查 server 配置中的 WEBSITE_URL |
| 认证不工作 | 确认 AUTH_SECRET 已设置 |
| 数据库错误 | 运行 db:migrate --remote |