Hexo/DigitalPlat/Cloudflare 实现免费发布静态博客

概述

本文旨在提供一套完整的自动化博客部署架构方案。该方案利用 Hexo 作为静态站点生成器,通过 GitHub 进行源码版本管理,最终部署于 Cloudflare Pages 全球边缘网络。

此架构具有以下技术优势:

  • 零成本部署
  • 高可用性
  • 全球加速(CDN)
  • 自动化流水线(CI/CD)

环境构建与本地项目初始化

环境依赖

在开始部署前,需确保本地开发环境已安装以下组件:

  • Node.js (建议版本 >= 18.0.0)
  • Git (用于版本控制)

Hexo 项目初始化

执行以下命令安装 Hexo 命令行工具并初始化项目:

1
2
3
4
5
6
7
8
9
# 安装 Hexo CLI
npm install -g hexo-cli

# 初始化项目文件夹
hexo init my-blog
cd my-blog

# 安装项目依赖
npm install

本地验证

运行以下命令启动本地服务器:

1
hexo s

然后访问 http://localhost:4000 验证基础框架是否运行正常。

源码管理与版本控制

配置依赖排除 (.gitignore)

为避免将冗余的依赖包和编译产物上传至仓库,需在根目录配置 .gitignore 文件:

1
2
3
4
5
node_modules/
public/
.deploy_git/
db.json
*.log

处理主题子模块冲突

若使用第三方主题(如 Ayer),需移除主题目录内的 .git 记录,以防 Git 将其识别为未定义的 Submodule,导致构建失败:

1
2
3
cd themes/ayer
Remove-Item -Recurse -Force .git
cd ../..

或者使用 Bash 命令:

1
2
3
cd themes/ayer
rm -rf .git
cd ../..

推送至 GitHub 远程仓库

将源码推送到 GitHub 私有或公开仓库,为 Cloudflare Pages 提供构建源:

1
2
3
4
5
6
git init
git remote add origin <your-repository-url>
git add .
git commit -m "feat: initial blog architecture"
git branch -M main
git push -u origin main

域名申请与 DNS 解析托管

免费域名注册

通过 DigitalPlat (FreeDomain) 获取免费域名后缀(如 .dpdns.org)。

接入 Cloudflare DNS

  1. 在 Cloudflare 控制台添加站点,并选择 Free 计划
  2. 将 Cloudflare 分配的 Nameservers (NS) 地址填入 DigitalPlat 的域名管理后台
  3. 等待 DNS 解析生效,确保域名状态显示为 Active

云端构建与持续集成 (CI/CD)

Cloudflare Pages 部署配置

  1. 在 Cloudflare 中进入 Workers & Pages 选项卡,选择 Create application
  2. 关联对应的 GitHub 仓库
  3. 配置以下构建参数:
参数
Framework preset None (手动配置)
Build command npx hexo generate
Build output directory public
  1. 在高级选项中添加环境变量:
    • NODE_VERSION: 20 或更高版本,以确保构建环境的兼容性

自定义域映射

部署完成后,在 Pages 项目的 Custom domains 中绑定申请的顶级域名。Cloudflare 将自动完成 CNAME 配置并签发 SSL 证书。

安全加固与优化建议

安全配置

  • 强制 HTTPS: 在 SSL/TLS 设置中开启 Always Use HTTPS
  • 自动程序战斗模式 (Bot Fight Mode): 开启此项可有效拦截已知 AI 爬虫及恶意扫描程序

资源管理

  • 图片资源: 建议存放于 source/images/ 目录下,并使用标准 Markdown 语法引用:
1
![图片描述](/images/filename.png)
  • URL 规范化: 修改本地 _config.yml 中的 url 字段为正式域名,以确保站点地图(Sitemap)及永久链接的准确性。

运维工作流

得益于 CI/CD 机制,后续的博客维护仅需关注源码层面:

  1. 撰写内容: 在 source/_posts/ 目录下创建 Markdown 文件
  2. 同步更新: 通过 git push 命令将改动推送至 GitHub
  3. 自动发布: Cloudflare Pages 监控到仓库变动后,将自动触发增量构建,并在 1-2 分钟内完成同步

总结: 通过这套方案,你可以免费搭建一个高性能、安全可靠的静态博客,并实现全自动化部署流程。

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2015-2026 John Doe
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信