GitHub Pages 提供了免费、便捷的静态网页托管服务,让我们可以轻松地将博客部署在 GitHub 上。然而,由于网络原因,国内访问 GitHub 的速度往往不尽如人意,严重影响博客的加载体验。

有没有一种既经济又能显著提升访问速度的方案呢?uniCloud 前端网页托管 就是一个不错的选择。它提供了免费的云服务空间,对于个人博客来说,资源配额完全够用,并且在国内的访问速度非常理想。

👉 uniCloud 前端网页托管官方文档

在之前的文章 从零到一键发布:Obsidian + Hexo + GitHub Pages 个人博客搭建指南 中,我们已经实现了将 Hexo 博客自动部署到 GitHub Pages。本文将在此基础上进行改造:将生成的静态网页从推送至 <用户名>.github.io 仓库,改为部署到 uniCloud 的云存储空间中,从而实现国内访问加速。

操作步骤

创建 uniCloud 服务空间

  1. 访问 uniCloud Web 控制台,注册并登录账号。
  2. 点击 新建服务空间,创建一个新的云环境。
  3. 在云服务商选择中,建议选择 支付宝云 / 阿里云,这两个平台均提供免费版服务空间。虽然免费版有一定资源限制,但对于个人博客来说完全够用。
  4. 按页面提示完成购买(如遇实名认证,请根据指引操作)。等待服务空间创建完成即可。

GitHub 仓库配置

添加仓库密钥

在Hexo 项目仓库中,进入 Settings > Secrets and variables > Actions,点击 New repository secret,依次添加以下三个密钥:

  • HBUILDERX_USERNAME:你的 uniCloud 登录账号
  • HBUILDERX_PASSWORD:你的 uniCloud 登录密码
  • UNICLOUD_SPACE_NAME:上一步中创建的服务空间名称

修改 GitHub Actions 部署脚本

修改项目中的 .github/workflows/deploy.yml 文件,将其内容替换为以下配置。该脚本会缓存 HBuilderX 工具、登录 uniCloud 并将 Hexo 生成的静态文件部署到你的服务空间中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
name: Deploy Hexo to uniCloud

on:
push:
branches:
- main # 根据你的默认分支名称修改

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout blog source
uses: actions/checkout@v4
with:
path: blog

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "24"

- name: Cache dependencies
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install dependencies
run: npm install
working-directory: ./blog

- name: Install Hexo CLI
run: npm install -g hexo-cli
working-directory: ./blog

- name: Generate static pages
run: hexo generate
working-directory: ./blog

# ========== 部署到 uniCloud 静态托管 ==========
- name: Cache HBuilderX
id: cache-hbuilderx
uses: actions/cache@v3
with:
path: ./hbuilderx
key: ${{ runner.os }}-hbuilderx-5.04.2026031801

- name: Download HBuilderX (if not cached)
if: steps.cache-hbuilderx.outputs.cache-hit != 'true'
run: |
wget https://download1.dcloud.net.cn/download/HBuilderX.5.04.2026031801.linux_x64.full.tar.gz
mkdir -p hbuilderx
tar -xzf HBuilderX.5.04.2026031801.linux_x64.full.tar.gz -C hbuilderx --strip-components=1
chmod +x hbuilderx/cli

- name: Add HBuilderX CLI to PATH
run: echo "${{ github.workspace }}/hbuilderx" >> $GITHUB_PATH

- name: Configure HBuilderX login
run: |
cli open
cli user login --username ${{ secrets.HBUILDERX_USERNAME }} --password ${{ secrets.HBUILDERX_PASSWORD }}

- name: Deploy to uniCloud Static Web Hosting
run: |
cli hosting deploy --provider aliyun --space ${{ secrets.UNICLOUD_SPACE_NAME }} --source ${{ github.workspace }}/blog/public --prefix /

验证与访问

完成上述配置并推送代码到 GitHub 仓库后,Actions 会自动触发部署流程。

  • 在 GitHub 仓库的 Actions 标签页,可以看到部署任务的执行状态。
  • 任务执行成功后,回到 uniCloud 控制台,进入你的服务空间,在 前端网页托管 模块中即可看到已部署的文件。
  • 点击提供的 默认域名 即可访问你的博客。与 GitHub Pages 相比,国内访问速度会有明显提升。

如果你有自己的域名,还可以参考 域名绑定文档 将其绑定到该服务空间,进一步提升访问体验。

关于域名

uniCloud 前端网页托管如果不绑定自定义域名,默认域名在国内访问会受到一定的限速或限制,因此建议绑定一个已备案的域名。

域名备案的常见难题在于:备案通常需要一台服务商的主机,将域名解析到该主机上才能完成接入,这往往意味着持续的主机费用。

不过,使用 uniCloud 支付宝云服务空间 时有一个省成本的途径:

  • 单个服务空间在 过去 90 天内累计消费满 150 元,即可申请 1 个阿里云备案码
  • 消费满 300 元,可申请 2 个备案码
  • 备案码申请入口:uniCloud 控制台 → 支付宝云服务空间详情 → 扩展服务 → 备案码管理。

更多说明可参考官方文档:备案码