SiteKit

如何设置 Cloudflare Pages

Last updated: April 10, 2026

为什么选择 Cloudflare Pages?

Cloudflare Pages 是一个自带全球 CDN(内容分发网络)的免费托管平台。你的网站在全球各地都能快速加载,并且每当你将代码推送到 GitHub 时,它会自动部署更新。

免费套餐包含:

  • 无限带宽
  • 全球 CDN
  • 自动 SSL(HTTPS)
  • 分支预览部署
  • Serverless 函数(用于联系表单)

第 1 步:创建 Cloudflare 账号

  1. 前往 cloudflare.com,点击 Sign Up
  2. 输入你的邮箱地址并创建密码
  3. 验证你的邮箱

第 2 步:连接你的 GitHub 仓库

当你的网站构建完成后(已运行第一阶段提示词并推送到 GitHub):

  1. 在 Cloudflare 控制台中,进入 Workers & Pages
  2. 点击 Create
  3. 选择 Pages 标签页
  4. 点击 Connect to Git
  5. 授权 Cloudflare 访问你的 GitHub 账号
  6. 选择包含你网站代码的仓库

第 3 步:配置构建设置

在配置页面中:

  • Production branch:main(或 master,取决于你的仓库使用哪个)
  • Build command:bundle exec jekyll build
  • Build output directory:_site

点击 Save and Deploy。首次构建可能需要一到两分钟。

第 4 步:添加环境变量

如果你的网站包含联系表单,你需要添加 SendGrid 环境变量:

  1. 进入你的 Pages 项目 > Settings > Environment variables
  2. Production 环境中添加以下变量:
变量名
JEKYLL_ENV production
SENDGRID_API_KEY 你的 SendGrid API 密钥
CONTACT_EMAIL 你的企业邮箱
FROM_EMAIL noreply@yourdomain.com

还没有 SendGrid? 请参阅如何设置 SendGrid。如果你的网站不使用联系表单,只需设置 JEKYLL_ENV 变量即可。

第 5 步:设置自定义域名

当首次部署成功后:

  1. 进入你的 Pages 项目 > Custom domains
  2. 点击 Set up a custom domain
  3. 输入你的域名(例如 www.yourbusiness.com
  4. Cloudflare 会告诉你需要添加哪些 DNS 记录

如果你的域名已经在 Cloudflare 上: DNS 记录会自动添加,无需其他操作!

如果你的域名在其他注册商: 你有两个选择:

  • 将域名服务器转移到 Cloudflare(推荐 — 可以获得完整控制权)
  • 在你当前的注册商处添加 CNAME 记录,指向你的 Pages URL

部署流程

连接完成后,工作流程是自动的:

  1. 你将代码推送到 GitHub(main 分支)
  2. Cloudflare 检测到推送
  3. 它构建你的 Jekyll 网站
  4. 新版本被部署到全球

整个过程大约需要 30-60 秒。你也可以推送到其他分支来获得预览部署——非常适合在正式上线前测试更改。

常见问题排查

构建失败,提示”ruby not found” 确保你的仓库中包含 .ruby-version 文件(第一阶段提示词会自动创建这个文件)。Cloudflare Pages 使用它来安装正确版本的 Ruby。

构建失败,提示”bundle not found” 这通常会自行解决 — Cloudflare Pages 会自动安装 Bundler。如果问题持续,请尝试触发一次新的部署。

自定义域名显示”too many redirects” 前往 Cloudflare 中你的域名的 SSL/TLS 设置,将加密模式设置为 Full (strict)