使用CloudFlare+Hexo搭建博客
教程说明
这份教程专为编程新手设计,全程使用免费工具,带你从 0 到 1 完成静态博客的搭建、配置和公网部署,核心是利用 Hexo 生成静态博客内容,通过 Cloudflare 实现域名解析、CDN 加速和免费托管。
- Hexo:快速生成静态博客内容(本地编写、预览)
- Cloudflare:提供免费域名解析、CDN 加速、静态资源托管
环境准备
Hexo 基于 Node.js 运行,Git 用于版本管理和部署,需先完成以下安装:
| 软件 | 下载地址 | 验证命令(终端/CMD) |
|---|---|---|
| Node.js | https://nodejs.org/(选 LTS 版) | node -v、npm -v |
| Git | https://git-scm.com/ | git --version |
安装后重启终端,确保命令能正常执行。
注册账号
| 平台 | 用途 | 注册地址 |
|---|---|---|
| Cloudflare | 域名托管、CDN、静态部署 | https://www.cloudflare-cn.com/ |
| 域名服务商(可选) | 购买域名(阿里云/腾讯云/Namesilo) | 按需选择 |
Hexo 本地初始化与配置
安装 Hexo 脚手架
打开终端(Windows 用 CMD/PowerShell,Mac/Linux 用 Terminal),执行:
# 全局安装 Hexo 脚手架
npm install -g hexo-cli
# 验证安装
hexo -v初始化博客项目
hexo init blog
cd blog
npm install
hexo s # 可以预览了基础配置(_config.yml)
打开博客根目录的 _config.yml 文件(建议用 VS Code 编辑),修改核心配置:
# 站点信息
title: 你的博客标题
subtitle: 博客副标题
description: 博客描述
author: 你的名字
language: zh-CN # 中文
timezone: Asia/Shanghai # 时区
# URL 配置(后续部署需匹配域名)
url: https://你的域名.com # 替换为实际域名
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:Cloudflare 配置(域名 + 部署)
登录 Cloudflare,点击「Add a Site」,输入你的域名(如 yourdomain.com),点击「Add Site」。 Cloudflare 会扫描域名现有解析记录,直接点击「Continue」。 选择套餐:免费版(Free)即可,点击「Continue」。 修改域名 DNS 服务器:按照 Cloudflare 提示,到你的域名注册商处,将 DNS 服务器改为 Cloudflare 提供的地址(如 xxx.ns.cloudflare.com),完成后等待生效(通常几分钟到 24 小时)。
生成 Hexo 静态文件
# 清理旧静态文件
hexo clean
# 生成新的静态文件(输出到 public 目录)
hexo generate # 简写:hexo g登录 Cloudflare,左侧菜单点击「Pages」→「Create a project」→「Upload assets」。 拖拽博客根目录下的 public 文件夹到上传区域,点击「Deploy site」。 部署完成后,Cloudflare 会分配一个默认域名(如 xxx.pages.dev),可直接访问测试。
xxx.pages.dev相当于免费域名。你也可以:输入你的域名(如 yourdomain.com),Cloudflare 会自动配置解析记录,确认即可。
若博客包含大量图片 / 视频,可将静态文件部署到 Cloudflare R2(免费存储),再通过 Pages 关联,此处略(新手优先用方式 1)。
现在,手动上传 public 文件夹。
优化与扩展
主题更换:Hexo 有大量免费主题(如 Next/Butterfly),下载主题到 themes 目录,修改 _config.yml 中 theme: 主题名 即可。 CDN 加速:Cloudflare 默认开启 CDN,可在「Speed」菜单优化缓存规则。 HTTPS 配置:Cloudflare 「SSL/TLS」→「Overview」选择「Full」,自动生成免费 SSL 证书,确保博客用 https 访问。 SEO 优化:在 _config.yml 配置关键词、描述,安装 hexo-sitemap 插件生成站点地图,提交到搜索引擎。
常见问题解决
本地预览 4000 端口被占用:执行 hexo s -p 5000 更换端口(如 5000)。 部署后页面空白:检查 _config.yml 中的 url 是否正确,确保静态文件完整上传。 域名解析生效慢:耐心等待 DNS 生效,或在 Cloudflare 「DNS」菜单手动添加 A/CNAME 记录指向 Pages 域名。

