📚 摘要

Hexo 是一款优秀的静态博客框架,其部署方式灵活,尤其适合采用「无服务器(Serverless)」的现代架构。本文将对比三种主流的云部署方案:Cloudflare Pages 自动构建、GitHub Pages 搭配 Cloudflare CDN 加速、以及本地构建后使用 wrangler 上传至 Cloudflare Pages。这些方案都不依赖传统服务器运维,适合个人和开发者轻量部署博客。综合比较后,我们将推荐一种无需服务器、部署稳定、构建次数无限制的方案:本地构建 + wrangler 自动上传至 Cloudflare Pages


📌 三种云部署方案快速对比

8282420701.jpg


✨ 方案一:Cloudflare 自动部署

4089842672.jpg

原理说明:

Cloudflare Pages 可连接 GitHub 仓库,每次你像Github仓库 push 内容,它就自动拉取、构建并部署 Hexo 博客

典型流程:

  1. 连接 GitHub 仓库;
  2. 配置构建命令(如 hexo generate);
  3. 部署成功后,网站通过 CF CDN 全球加速

优势 ✅:

  • 内建 Cloudflare CDN,无需额外设置;
  • 支持自动构建,操作简洁;
  • HTTPS、缓存、安全策略一体化

限制 ❌:

  • 免费账户每月构建次数上限为 500;
  • 调试或频繁修改易触发构建上限;
  • 构建失败需检查 YAML 或日志,排错不如本地方便

4770225947.jpg


⚙️ 方案二:GitHub + CF 域名接入

9870479597.jpg

原理说明:
通过 Hexo 的 git 部署插件,把静态文件推送到 GitHub Pages,再用 Cloudflare 自定义域名 + CNAME 接管加速

典型流程:

  1. 本地运行 hexo g && hexo d 推送到 GitHub;
  2. 在 Cloudflare 中设置自定义域名 CNAME 指向 GitHub;
  3. 配置 SSL 和缓存策略

优势 ✅:

  • GitHub Pages 免费且构建次数无限制;
  • Hexo 的部署命令使用方便;
  • 可通过 Cloudflare 加速访问性能

限制 ❌:

  • 每个仓库容量限制1G;
  • CDN 缓存策略需手动调优;
  • GitHub Pages 对某些资源类型缓存不佳;
  • SSL 配置不一致可能出现证书警告(建议开启 Cloudflare “完全”模式);
  • 不如 CF Pages 那样一站式集成。

🌟 推荐方案:本地构建 + wrangler

5544044059.jpg

💡 wrangler 是 Cloudflare 提供的官方 CLI 工具,用于将静态内容上传并部署至 Cloudflare Pages,适合本地构建后手动或脚本化自动上传的场景

推荐理由:

  • ⚡ 构建在本地进行,不受 Cloudflare 的构建次数限制;
  • 🚫 不依赖 GitHub,避免仓库容量限制,彻底解耦构建与部署流程;
  • ✅ 可直接将生成的静态博客上传至 Cloudflare Pages;
  • 🔄 支持自动上传部署,可配合脚本实现一键发布,极为高效;
  • 🔧 构建与部署完全掌控,调试与排错更灵活

🧰 操作步骤详解

1️⃣ 安装 wrangler

1
npm install -g wrangler

或使用 npx(无需全局安装):

1
npx wrangler login

首次运行会自动打开浏览器授权 Cloudflare 账户

2️⃣ 选择部署账户(首次登录)

wrangler 会提示你选择当前登录邮箱下的账户(如个人账户或团队名),用方向键选择正确的账号:

1
2
3
4
? Select an account
> aaa
bbb
ccc

✅ 请确认你选中的是已创建 Cloudflare Pages 项目的那个账户

3️⃣ 本地构建 Hexo 博客

1
hexo clean && hexo generate

输出文件会在 ./public/ 目录。

4️⃣ 上传到 Cloudflare Pages

1
npx wrangler pages deploy ./public --project-name=your-project-name

your-project-name 是你在 Cloudflare Pages 控制台创建的项目名称。

5️⃣ (可选)创建一键部署脚本

创建 deploy.sh

1
2
3
#!/bin/bash
hexo clean && hexo generate
npx wrangler pages deploy ./public --project-name=your-project-name

添加执行权限并使用:

1
2
chmod +x deploy.sh
./deploy.sh

✅ 总结:选择哪种方式最合适?

情况 推荐方案
想全自动,更新频率低 Cloudflare Pages 自动构建
想简单推送更新,已有 GitHub GitHub Pages + CDN
想完全掌控,部署稳定,不限构建 ✅ 本地构建 + wrangler 上传(推荐!)

8443128747.jpg