← 返回
入门 2 分钟阅读

将 EmDash 站点部署到 Cloudflare

从本地开发到生产部署的完整指南,涵盖 Cloudflare Pages、D1 数据库、R2 存储和自定义域名配置。

为什么选择 Cloudflare

Cloudflare 提供了运行 EmDash 所需的全部基础设施:Pages 用于托管应用、D1 作为 SQLite 兼容数据库、R2 用于媒体文件存储。全球 CDN 网络确保访问速度,免费额度足够大多数中小型站点使用。

准备 Cloudflare 账户

注册 Cloudflare 账户后,在控制台中创建一个 D1 数据库和一个 R2 存储桶。记下数据库名称和 ID、R2 桶名称,后续配置中需要用到。安装 Wrangler CLI 工具用于本地开发和部署。

修改项目配置

在 astro.config.mjs 中将 Astro 适配器改为 @astrojs/cloudflare,将数据库配置改为 d1 驱动,将存储配置改为 r2 驱动。添加 wrangler.toml 文件声明 D1 和 R2 绑定。这些配置告诉 EmDash 在 Cloudflare 环境中使用对应的服务。

本地测试 Cloudflare 环境

使用 npx wrangler pages dev 可以在本地模拟 Cloudflare Pages 环境,包括 D1 和 R2 的本地模拟。确保所有功能在本地模拟环境中正常工作后再部署到线上。

部署到 Cloudflare Pages

将项目推送到 GitHub 仓库,然后在 Cloudflare Pages 控制台中关联该仓库。设置构建命令为 npm run build,输出目录为 dist。在环境变量中配置 EMDASH_SECRET 等必要的密钥。首次部署后 Cloudflare 会自动分配一个 .pages.dev 子域名。

配置自定义域名

在 Cloudflare Pages 项目设置中添加自定义域名。如果域名已托管在 Cloudflare DNS 上,系统会自动配置 DNS 记录和 SSL 证书。否则需要手动添加 CNAME 记录指向 .pages.dev 地址。

数据库迁移

首次部署后需要在线上环境运行数据库迁移和种子数据导入。通过 Wrangler CLI 连接远程 D1 数据库执行迁移命令。后续的数据库结构变更可以通过 EmDash 管理后台在线完成,无需重新部署。

持续部署与监控

配置好 GitHub 集成后,每次推送代码都会自动触发构建和部署。在 Cloudflare 控制台可查看部署日志、请求量统计和错误率。建议配置 Cloudflare 的告警规则,当错误率升高或响应时间异常时及时通知。