Hexo博客搭建流程

本文最后更新于 2025年8月12日 下午

本文主要记录了自己搭建Hexo博客的流程,主要包括搭建Hexo博客、插件安装和主题美化。

步骤1-5主要为搭建Hexo博客,主要参考了知乎文章从零开始搭建个人博客(超详细),这里就不在赘述,只做补充。

1. 注册GitHub

https://github.com/

2. 安装Git

https://git-scm.com/download

Git下载与安装-CSDN博客

1
git --version  # 查看 Git 版本

3. 绑定GitHub并提交文件

1
2
3
git push -u origin main
# or
git push -u origin master

4. 安装node.js和Hexo

报错处理

  1. 注意在建立两个文件夹node_globalnode_cache时,需要右键设置“属性”,将用户具有完全属性的权限,否则在npm install webpack时会报错。

    感谢大佬!!!,其实直接以管理员身份运行cmd就行了。

  2. 等等。

5. 解析域名

  1. ping出来地址是ipv6。ping ipv4的方法:

    1
    ping github.io -4
  2. Hexo部署过程中可能会出现错误:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    fatal: unable to access 'https://github.com/a956551943/a956551943.github.io/': Encountered end of file
    FATAL {
    err: Error: Spawn failed
    at ChildProcess.<anonymous> (/usr/local/src/hexo/hanyubolg/node_modules/hexo-util/lib/spawn.js:51:21)
    at ChildProcess.emit (events.js:376:20)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) {
    code: 128
    }
    } Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html

    解决方式一:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ##进入站点根目录
    cd /usr/local/src/hexo/hanyubolg/

    ##删除git提交内容文件夹
    rm -rf .deploy_git/

    ##执行
    git config --global core.autocrlf false

    ##最后
    hexo clean && hexo g && hexo d

    解决方式二:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ##进入站点根目录
    cd /usr/local/src/hexo/hanyubolg/

    ##删除git提交内容文件夹
    vim _config.yml

    ##修改
    deploy:

    type: git

    repo: https://github.com/yourname/yourname.github.io.git
    # 改为
    # GitHub项目主页,点击绿色的Code,SSH
    repo: git@github.com:a956551943/weixiaohui.github.io.git

    branch: master

    ##最后
    hexo clean && hexo g && hexo d

    解决方式三:不建议

    1
    2
    3
    4
    5
    6
    7
    8
    ##进入站点根目录
    cd /usr/local/src/hexo/hanyubolg/

    ##进入depoly文件夹
    cd .deploy_git/

    ##强制推送
    git push -f
  3. 完成。

6. Hexo基本技巧

捋一遍文档 | Hexo就基本可以了。

7. 设置主题和主题美化

实现步骤:

  1. GitHub上搜索Hexo寻找自己喜欢的Hexo主题。我最终选择了Hexo Fluid主题。一款很成熟的主题,简洁大方,有官方中文教程。

  2. 安装Hexo Fluid主题

  3. 安装Hexo博客插件

  4. 主题美化

解决的一些问题:

  1. Hexo博客解决插入图片的路径问题

问题与解决

Error: Spawn failed

  1. 在终端测试:

    1
    ping github.com
  2. 如果“请求超时”的话,解决方法

  3. 重新部署博客。

  4. 如果还是不行,更多方法

GitHub更换了用户名

  1. 修改你的GitHub仓库名为新用户名.github.io

  2. 修改./Blog根目录下的_config.yml

    1
    2
    3
    4
    deploy:
    type: git
    repo: git@github.com:新用户名/新用户名.github.io.git #你的新仓库地址
    branch: main
  3. 其它与你用户名有关的配置。

    1. Hexo Fluid主题的配置大致没什么需要更改的地方。
    2. Waline评论系统的配置无需更改。
  4. ./Blog根目录下打开Git Bash运行:

    1
    hexo clean && hexo g && hexo d

    重新进行部署。

  5. 打开博客网址验证更新。

  6. 大功告成。

博客框架

部署方式

静态部署

静态部署是指将网站的所有页面和资源(如 HTML、CSS、JS、图片等)提前生成为静态文件,然后直接放在服务器上供用户访问。用户访问网站时,服务器只需要把这些静态文件返回给浏览器,无需运行后端程序或数据库查询。

动态部署

动态部署,指的是网站内容不是提前生成好的静态文件,而是由服务器在用户访问时动态生成网页

  • 例如:传统的 WordPress 博客、论坛系统等,都是动态网站。
  • 用户访问时,服务器会执行后端程序(如 PHP、Node.js、Python),查询数据库,生成 HTML 页面,然后返回给用户。
  • 动态网站可以实现复杂的交互,比如用户登录、评论、后台管理等。

对比

静态部署(如 Hexo) 动态部署(如 WordPress)
网页生成方式 预先生成好所有网页 用户访问时实时生成网页
服务器负载 很低,直接返回文件 通常偏高,需要运行后端程序
内容更新 需重新生成并部署 可直接在后台编辑
安全性 较高,无数据库和后台入口 有数据库和后台,需防护
交互能力 一般较弱,适合浏览展示 强,支持互动和复杂功能

常见的静态博客框架

Hexo

Hexo 是一个基于 Node.js 的快速、简单且强大的静态博客框架。它广受开发者和技术爱好者欢迎,适合搭建个人博客、技术文档、作品集等网站。

主要特点

  1. 静态网站生成:Hexo 会将你的 Markdown 或其他格式的内容,生成静态 HTML、CSS、JS 文件,方便部署到各种静态托管服务(如 GitHub Pages、Vercel、Netlify 等)。
  2. 极速构建:生成网站速度快,即使内容较多也能在几秒内完成构建。
  3. Markdown 支持:原生支持 Markdown 格式,写作体验流畅,方便技术写作者。
  4. 丰富的主题与插件:拥有大量高质量主题和插件,可以自定义外观和功能(如评论、搜索、SEO优化、社交分享等)。
  5. 易于部署:支持一键部署到多种平台,维护简单,无需服务器和数据库。
  6. 强大的中文社区:有丰富的中文文档和教程,新手入门容易,遇到问题也能很快获得帮助。

适合人群

  • 想要快速搭建个人博客的开发者或技术爱好者
  • 追求简洁、无需复杂后台和数据库的内容发布者
  • 希望自定义网站风格和功能的用户

其它

除了 Hexo 之外,常见的静态博客框架还有以下几种:

名称 语言和环境 特点 适合人群
Jekyll Ruby GitHub Pages 原生支持;广泛的主题和插件生态;Markdown 支持好。 习惯 Ruby 或 GitHub Pages 用户。
Hugo Go 极快的生成速度(静态文件秒级生成);支持多语言;主题丰富。 对构建速度有极高要求的用户。
Gatsby JavaScript(基于 React) 支持动态数据(GraphQL);可生成静态和动态页面;高度可扩展。 前端开发者,喜欢 React 技术栈。
VuePress JavaScript(基于 Vue) 易于与 Vue 项目集成;适合文档和博客;主题配置灵活。 Vue 用户、文档驱动型网站。
Pelican Python Python 用户友好;插件丰富;支持 Markdown 和 reStructuredText。 Python 开发者。
  • 与 Jekyll 比:Hexo 安装更简单,中文文档更丰富,但 GitHub Pages 原生支持更好的是 Jekyll。
  • 与 Hugo 比:Hugo 生成速度更快,适合大规模内容,Hexo 更易定制和二次开发。
  • 与 Gatsby/VuePress 比:Gatsby/VuePress 更适合前端开发者,支持现代 JS 框架,Hexo 则更轻量,易于部署。
  • 与 Pelican 比:Pelican 适合 Python 用户,Hexo 对 Node.js 用户更友好。
  • Hexo 适合希望快速搭建、易于定制、中文社区活跃的个人或中小型博客用户。如果你追求速度极致、或有特定语言/框架偏好,可以考虑 Hugo、Jekyll、Gatsby、VuePress 等。

常见的动态博客框架

名称 语言 特点
WordPress PHP + MySQL 全球最流行的博客和网站系统,插件和主题丰富。
Typecho PHP + MySQL 轻量级中文博客系统,简单易用,扩展性强。
Ghost Node.js + SQLite/MySQL 专注于写作和内容发布,界面现代,支持会员和订阅。
Drupal PHP + MySQL 强大的内容管理系统,适合大型网站和社区,博客只是其功能之一。
Joomla PHP + MySQL 功能强大的 CMS,适合多种类型网站,包括博客。
Movable Type Perl/PHP + MySQL 曾经流行的博客系统,支持静态和动态发布。
Serendipity PHP + MySQL 轻量级博客平台,插件丰富,易于定制。
Dotclear PHP + MySQL 法国开发的博客系统,注重易用性和多用户支持。
Textpattern PHP + MySQL 简洁灵活,适合内容丰富的网站和博客。
Mezzanine Python + Django 开源 CMS,适合博客和内容网站,扩展性好。

Hexo博客搭建流程
http://zeyulong.com/posts/6d384a56/
作者
龙泽雨
发布于
2024年1月3日
许可协议