如何设置 Cloudflare Pages
Last updated: April 10, 2026
为什么选择 Cloudflare Pages?
Cloudflare Pages 是一个自带全球 CDN(内容分发网络)的免费托管平台。你的网站在全球各地都能快速加载,并且每当你将代码推送到 GitHub 时,它会自动部署更新。
免费套餐包含:
- 无限带宽
- 全球 CDN
- 自动 SSL(HTTPS)
- 分支预览部署
- Serverless 函数(用于联系表单)
第 1 步:创建 Cloudflare 账号
- 前往 cloudflare.com,点击 Sign Up
- 输入你的邮箱地址并创建密码
- 验证你的邮箱
第 2 步:连接你的 GitHub 仓库
当你的网站构建完成后(已运行第一阶段提示词并推送到 GitHub):
- 在 Cloudflare 控制台中,进入 Workers & Pages
- 点击 Create
- 选择 Pages 标签页
- 点击 Connect to Git
- 授权 Cloudflare 访问你的 GitHub 账号
- 选择包含你网站代码的仓库
第 3 步:配置构建设置
在配置页面中:
- Production branch:
main(或master,取决于你的仓库使用哪个) - Build command:
bundle exec jekyll build - Build output directory:
_site
点击 Save and Deploy。首次构建可能需要一到两分钟。
第 4 步:添加环境变量
如果你的网站包含联系表单,你需要添加 SendGrid 环境变量:
- 进入你的 Pages 项目 > Settings > Environment variables
- 在 Production 环境中添加以下变量:
| 变量名 | 值 |
|---|---|
JEKYLL_ENV |
production |
SENDGRID_API_KEY |
你的 SendGrid API 密钥 |
CONTACT_EMAIL |
你的企业邮箱 |
FROM_EMAIL |
noreply@yourdomain.com |
还没有 SendGrid? 请参阅如何设置 SendGrid。如果你的网站不使用联系表单,只需设置
JEKYLL_ENV变量即可。
第 5 步:设置自定义域名
当首次部署成功后:
- 进入你的 Pages 项目 > Custom domains
- 点击 Set up a custom domain
- 输入你的域名(例如
www.yourbusiness.com) - Cloudflare 会告诉你需要添加哪些 DNS 记录
如果你的域名已经在 Cloudflare 上: DNS 记录会自动添加,无需其他操作!
如果你的域名在其他注册商: 你有两个选择:
- 将域名服务器转移到 Cloudflare(推荐 — 可以获得完整控制权)
- 在你当前的注册商处添加 CNAME 记录,指向你的 Pages URL
部署流程
连接完成后,工作流程是自动的:
- 你将代码推送到 GitHub(
main分支) - Cloudflare 检测到推送
- 它构建你的 Jekyll 网站
- 新版本被部署到全球
整个过程大约需要 30-60 秒。你也可以推送到其他分支来获得预览部署——非常适合在正式上线前测试更改。
常见问题排查
构建失败,提示”ruby not found”
确保你的仓库中包含 .ruby-version 文件(第一阶段提示词会自动创建这个文件)。Cloudflare Pages 使用它来安装正确版本的 Ruby。
构建失败,提示”bundle not found” 这通常会自行解决 — Cloudflare Pages 会自动安装 Bundler。如果问题持续,请尝试触发一次新的部署。
自定义域名显示”too many redirects” 前往 Cloudflare 中你的域名的 SSL/TLS 设置,将加密模式设置为 Full (strict)。