十分钟把博客部署到 Cloudflare Pages

Astro 构建出来是纯静态的 dist/ 目录,所以部署这件事本质上就是「把一堆文件放到 CDN 上」。Cloudflare Pages 免费额度完全够个人博客用:不限带宽、每次构建 500 个文件以上也支持、自带全球 CDN 和 HTTPS。

两种部署方式

方式 适合 特点
Wrangler 直传 快速上线 一条命令,不需要连 Git
连接 Git 仓库 长期写作 git push 自动构建发布

Wrangler 直传

npm run build
npx wrangler login     # 首次需要浏览器授权
npx wrangler pages deploy dist --project-name=my-blog

十几秒后就能拿到一个 *.pages.dev 的地址,直接可以访问。

连接 Git(推荐长期用)

在 Cloudflare 控制台里选择「Connect to Git」,授权 GitHub 后选中博客仓库,构建命令填 npm run build,输出目录填 dist。之后每次 git push,Cloudflare 会自动构建并发布,也可以在 PR 上预览。

上线后记得做的三件小事

  1. 把 astro.config.mjs 里的 site 改成真实域名(Canonical、sitemap 等依赖它);
  2. 在 src/config.ts 里填上自己的邮箱和社交链接;
  3. 想绑自定义域名的话,在 Pages 项目的 Custom domains 里加一条 CNAME 即可,证书自动签发。

整个过程不需要服务器、不需要运维、不花钱。