迁移到 Cloudflare

2026-05-22T12:00:00-05:00 | 2分钟阅读

@

起因

我另一个整理朋友们运动打卡数据的项目是部署在 Cloudflare Workers 上的,博客之前一直是 S3 + CloudFront。为了管理方便,决定把博客页迁移到 Cloudflare,Cloudflare Pages 个人博客流量基本都在免费额度里,不需要太担心成本。

域名

迁到 Cloudflare 必须有自定义域名(避免系统自带的 *.pages.dev 有的地方打不开)。在 Cloudflare Registrar 可以直接购买,不同的后缀价格不一样。

Cloudflare Pages 设置

部署方式选了 Git 集成(push 到 main 自动构建),不需要本地 wrangler。

实际操作的步骤:

  1. Cloudflare 控制台 → Workers & Pages → Create application → Pages tab → Connect to Git
  2. 授权 GitHub → 选对应的 repo
  3. 填构建配置:
字段
Project name随便起一个
Production branchmain
Framework presetHugo
Build commandgit submodule update --init --recursive && hugo --gc --minify
Build outputpublic
Environment variablesHUGO_VERSION = 0.156.0
  1. 加自定义域名:项目页 → Custom domains → 输入精心挑选的域名 → “Complete DNS setup”

    • 因为域名在 Cloudflare Registrar 买的,DNS 也在 Cloudflare,“Complete DNS setup” 会自动写 CNAME 记录,几分钟内 SSL 证书签发完成。

DNS

证书签好之后,手机能访问新网站,但 Mac 上 Chrome 却打不开。

修复:把 Mac 的 DNS 改成 1.1.1.1 + 8.8.8.8(系统设置 → 网络 → Wi-Fi → 详细信息 → DNS → 添加),绕过 ISP 缓存直接问公共 DNS。立刻能访问。Claude 说这种修改合理,公共 DNS 比 ISP 一般更快,还更保护隐私。

部署脚本重写

老的 4_hugo_deploy_upload.command 是 AWS 流程:

hugo --cleanDestinationDir --minify
aws s3 sync public/ s3://leonashao.com --delete
aws cloudfront create-invalidation --distribution-id E392F0BZEJZ6Y6 --paths "/*"

迁到 Cloudflare 之后部署变成 git push 一行:

# 6_deploy.command(重命名后)
git add -A
git commit -m "$message"
git push origin main

push 之后 Cloudflare Pages 自动监听 main 分支,~2 分钟构建+部署。

顺便整理了所有脚本的编号:

编号脚本
11_new_post.command —— 新建杂记
22_new_book_section.command —— 新建书章 / 节
33_hugo_server.command —— 本地预览
44_post_images.command —— 杂记图片处理
55_book_images.command —— 书节图片处理
66_deploy.command —— git push 部署

现在

写完一篇杂记或者书节,本地 3_hugo_server.command 预览没问题,双击 6_deploy.command,输入 commit message,网站两分钟后自动更新。回滚也方便,Cloudflare Dashboard 里每次 deploy 都有快照,可以一键 Rollback to this deployment。

© 2025 - 2026 Leona的田园牧歌

🌱 Powered by Hugo with theme Dream.

关于我

Leona

  • 女的。
  • INFJ -> ENFJ 年纪大了变成E人了。
  • 长毛象链接点这里!
  • 做了九年数据科学家,但是每次管自己叫”科学家“,都很羞愧。职业+J人,习惯把日常生活数据化。
  • 玩了十几年相机,三十岁以前拍人像擅长无痕修图,三十岁以后拍动物植物大自然。
  • 厌倦城市,旅行目标大多是看动物。
  • 嘴太叼,不好吃宁愿饿着,还好手艺不错,不会饿死自己。
  • 没体能天赋,从小长跑最后一名,但是热爱运动,练过跑步、举铁、泰拳、网球、crossfit,现在重心转向功能性训练。
  • 现阶段人生目标是找个山头归隐,自给自足,田园牧歌,种菜养花,遛猫逗狗,养鸡喂牛。