Hexo静态博客网站搭建教程

本文最后更新于 2025年4月22日 下午

要求:作者能够专注于博客内容的写作,简化博客网站的搭建和更新过程。

对本文用到的技术说明如下:

  • Node:一个JavaScript的运行环境,其中npm是Node.js的默认包管理器
  • Hexo:一个快速、简洁且高效的博客框架,可以使用npm安装Hexo

1 安装Node

1、Node下载链接

1
https://nodejs.org/zh-cn/download/

2、测试是否安装成功

1
2
node -v
npm -v

2 安装Hexo

1、使用npm安装hexo-cli

1
npm install -g hexo-cli

参数 -g 是global的缩写,这样任何目录下都能直接调用后续的hexo命令

2、初始化

1
2
hexo init blog
cd blog

3、安装组件

1
npm install

4、创建文章

1
hexo new "My_Post"

source/_posts文件夹中会出现一个名为My_Post.md的文件,编辑该文件并保存

5、生成网页

1
hexo g

6、本地预览

1
hexo s

本地浏览器访问:http://localhost:4000

生成的网页文件将保存在public文件夹中,你可以将该文件夹复制到你想要部署的网站服务器上实现在线访问。

3 部署博客到GitHub

3.1 申请仓库

1、登录GitHub

1
https://github.com/

2、新建仓库

在GitHub中选择Create a new repository

仓库名为:<用户名>.github.io,例如:lishan666.github.io

仓库类型选择Public,并勾选Add a README file选项框

3、博客地址

启用的博客地址为:https://<用户名>.github.io

例如:https://lishan666.github.io

3.2 安装Git

1、Git下载链接

1
https://git-scm.com/downloads/

2、设置Git参数

1
2
git config --global user.name "your name"
git config --global user.email "your email"

例如:

1
2
git config --global user.name "Shan Li"
git config --global user.email "shan.li@bit01.top"

3、生成本地ssh秘钥

1
ssh-keygen -t rsa -C "your email"

参数 -t 表示创建类型,RSA算法是一种常用的非对称加密算法

参数 -C 表示注释,为方便辨识,可将自己的邮箱作为注释信息,但不用邮箱也可以

例如:

1
ssh-keygen -t rsa -C "shan.li@bit01.top"

输入以上命令后,按下3次Enter键即可成功创建本地公钥id_rsa.pub、本地私钥id_rsa

打开id_rsa.pub文件,复制本地公钥内容

4、GitHub添加本地ssh公钥

(1)登录GitHub,进入 Settings 页面

(2)选择 SSH and GPG keys,点击 New SSH key

(3)粘贴复制的id_rsa.pub内容,点击Add SSH key

5、本地添加GitHub公钥

在本地连接GitHub服务器

1
ssh -T git@github.com

根据提示输入yes,将服务器的公钥保存到本地

3.3 发布文章

1、安装hexo-deployer-git

1
npm install hexo-deployer-git --save

2、修改 _config.yml

1
2
3
4
deploy:
type: git
repository: git@github.com:<用户名>/<用户名>.github.io.git
branch: main

例如:

1
2
3
4
deploy:
type: git
repository: git@github.com:lishan666/lishan666.github.io.git
branch: master

3、更新页面并预览

新建文件后,使用以下命令更新网页,并在本地预览

1
hexo cl && hexo g && hexo s

5、发布本地文章到GitHub

本地预览无误后,使用以下命令发布文章到GitHub

1
hexo d

也可以不在本地预览,直接更新并发布到GitHub

1
hexo cl && hexo g && hexo d

3.4 在线访问

现在可以通过浏览器访问:https://<用户名>.github.io访问博客。

例如:https://lishan666.github.io

4 部署博客到Gitee

GitHub在国内的访问速度比较慢,甚至可能无法访问,此时可以选择部署到Gitee上,方法和部署到GitHub上类似。

5 部署博客到云服务器

部署博客到GitHub或Gitee服务器上是完全免费的,且操作相对比较简单,但是你的博客访问地址会很长,且没有个性。此时,部署博客到云服务器也是一种选择。一种推荐的步骤如下:

(1)购买一台云服务器,假设分配给该服务器的公网ip为 1.2.3.4,注意开放80、443等安全组端口

(2)购买一个域名,假设该域名为 bit01.top,解析域名到服务器ip地址

(3)配置ssh密钥,将本地公钥内容追加到云服务器的authorized_keys文件,最终实现ssh免密连接的效果

(4)在云服务器上安装宝塔面板,在面板管理界面中安装Nginx应用,并设置网站的目录,假设目录为/www/hexo

(5)在云服务上初始化一个git仓库文件,假设该文件所在位置为/root/repo/

1
git init --bare hexo.git

(6)在git仓库的hooks目录下创建post-receive文件,设置work-tree和git-dir参数

1
2
3
#!/bin/bash

git --work-tree=/www/hexo --git-dir=/root/repo/hexo.git checkout -f

(7)在本地pc的hexo项目中,修改_config.yml中的deploy属性,例如:

1
2
3
4
deploy:
type: git
repository: root@1.2.3.4:/root/repo/hexo.git
branch: master

特别注意,上述步骤使用了root用户进行操作,基于安全考虑,可以使用普通用户进行操作,但要注意权限问题。

一切就绪后,就可以通过直接访问云服务器的公网ip地址,或访问该云服务器绑定的对应域名在线查看你的网站。

6 完结

博客网站搭建之后,作者后续只需要在souce/_posts文件夹下新建md文件,然后在文件中创作内容即可

新建博客文章时也可以执行命令:

1
hexo new "new blog"

更新网站时只需要执行命令:

1
hexo cl && hexo g && hexo d

7 插件

在本地typora等软件中显示图片的插件

1
npm install hexo-asset-img --save

Hexo静态博客网站搭建教程
https://www.bit01.top/2025/03/12/node-hexo-build-blog/
作者
李珊
发布于
2025年3月12日
更新于
2025年4月22日
许可协议