uniCloud加速GitHub Pages博客访问


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 生成的静态文件部署到你的服务空间中。

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 控制台 → 支付宝云服务空间详情 → 扩展服务 → 备案码管理。

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


文章作者: gloamfox
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 gloamfox !
 上一篇
Claude Code通关手册(一):转角遇到爱,真香体验
本文是Claude Code通关手册的第一篇,系统介绍了Claude Code的核心价值、安装方法和基本使用技巧。文章通过与其他AI编程工具的对比,揭示了Claude Code作为私人大厨式AI的独特优势,详细讲解了四个核心命令的使用方法,并分析了其火遍全网的关键特质。同时,文章还预览了新手常见陷阱,帮助读者快速上手这一革命性AI编程工具。
2026-03-27
下一篇 
Hexo 插件:自动转换 Markdown 相对路径链接
文章介绍了Hexo在生成静态页面时,Markdown相对路径链接失效的问题,并提供了一个通过JavaScript过滤器自动将.md文件链接转换为正确永久链接的解决方案。该方案通过解析相对路径、匹配源文件并替换为可访问的permalink,解决了浏览器无法直接解析.md文件路径的问题。
2026-03-25
  目录