本文写于 2021 年,Cloudflare Pages 的套餐限制和控制台界面可能已经变化。实际操作时,请以 Cloudflare 当前页面显示为准。
最近想搭建一个博客用来写文章。一开始用了 Wordpress,但服务器配置比较低,运行起来很慢。后来考虑用 GitHub Pages 托管静态网页,博客生成器则选择了 Hexo。不过在使用过程中,GitHub 偶尔会因为网络原因访问不稳定,体验并不理想。兜兜转转之后,我发现可以把静态文件部署到 Cloudflare Pages。Cloudflare Pages 支持 GitHub 和 GitLab 仓库,所以我顺手把博客源码也迁移到了 GitLab。
Hexo 的安装和配置这里不展开,官方文档已经介绍得很详细。
Cloudflare Pages 不同计划对比
| Free | Pro | Business |
|---|---|---|
| $0 | $20/mo | $200/mo |
| 1 build at a time | 5 concurrent builds | 20 concurrent builds |
| 500 builds per month | 5,000 builds per month | 20,000 builds per month |
| Unlimited sites | Unlimited sites | Unlimited sites |
| Unlimited requests | Unlimited requests | Unlimited requests |
| Unlimited bandwidth | Unlimited bandwidth | Unlimited bandwidth |
免费版主要有以下使用限制:
- 同一时间只支持构建一个项目
- 每月最多构建 500 次
- 最大支持 10 个自定义域名
- 网站最多包含 20000 个文件
- 单个文件最大 25M
整体来看,用免费版托管个人博客已经足够。
创建项目
首先登录 Cloudflare,进入 Pages。

点击创建项目。

授权 Cloudflare 访问代码仓库,然后选择要部署的仓库。

设置项目
- 名称设置好后,项目会被部署到
{项目名称}.pages.dev - 框架预设选择
None - 构建输出目录填写
publish - 构建命令填写下面的内容
1 | npm install hexo-cli -g && npm install && hexo clean && hexo generate |

点击保存并部署后,项目就会开始构建。
设置自定义域名
选择项目,切换到自定义域,然后点击 设置自定义域。

填写自己的域名。

添加 DNS 解析记录。如果域名解析也托管在 Cloudflare,一般会自动添加。

构建项目
一切准备就绪后,每次将新文章推送到仓库,Cloudflare 都会自动构建并部署。

此外,Cloudflare Pages 也支持回滚到之前的部署版本。
