在Github上搭建一个Hexo博客系统

什么是Hexo,Hexo是一个基于Nodejs快速简洁高效的博客框架,Hexo使用Markdown语法来编辑文章,只需要几秒钟的时间就可以成生静态的网页。整个系统就是一个博客系统。

什么是Hexo

Hexo是一个基于Nodejs快速简洁高效的博客框架,Hexo使用Markdown语法来编辑文章,只需要几秒钟的时间就可以成生静态的网页。整个系统就是一个博客系统。

安装Hexo

Hexo是基于Nodejs的博客系统,在安装Hexo之前需要安装Nodejs,把博客搭建在免费的GitHub上,所以需要安装Git。如果你已经安装上述软件,可以跳过以下的1,2步骤

安装Nodejs

Node.js的官网下载地址是:https://nodejs.org/,下载好之后,双击安装,一路Next即可,只需要记住Node.js的安装路径,一般路径是’’C:\Program Files\nodejs’’ 。注意的是需要添加hexo和npm到环境变量,路径分别是 C:\Program Files\nodejs;C:\Program Files\nodejs\node_modules\npm;
hexo 和npm的环境变量

安装Git for windows

Git for windows 的下载地址是:https://git-for-windows.github.io/,下载好后也同样是一路Next安装即可。

安装Hexo

右键桌面任意位置,打开Git Bash,执行命令:

1
npm install -g hexo

如果是出现错误,一般是因为被墙的原因,可以换国内的镜像源试试。

1
2
npm config set registry="http://registry.cnpmjs.org"
npm install -g hexo

创建Hexo文件夹

创建一个新的文件夹(如E:\hexo),打开Git Bash

1
2
cd /e/hexo
hexo init

这一步是在hexo目录下建立网站所需要的所有文件,除了如下的public/文件夹(public文件是生成的静态网站)

至此本地的Hexo博客系统算是已经搭建完成了

Hexo基本命令

下面是在编辑博客和生成博客所需要的几个常见的命令以及它们的缩写形式。即使用新版本的Hexo两边是等价的命令。

1
2
3
4
hexo generate = hexo g
hexo server = hexo s
hexo delopy = hexo d
hexo new = hexo n

hexo g

hexo g 是生成静态博客的命令,一般是对博客系统修改之后通过该命令来重新生成public 文件夹,比如添加、修改、删除一篇博文,对博客的卑职文件修改,修改主题和添加插件等操作都是需要通过该指令Hexo g来重新生成的。

hexo s

hexo s是在本地上开启博客系统,一般修改博客之后需要在本地上预览调试,执行hexo g && hexo s 可以在本地浏览器上查看(浏览器上输入 http://localhost:4000)。

hexo d

hexo d是上传你的博客到服务器,接下来我会介绍如何上传到git,然后就可以在github.io上查看你的博客了。

hexo n

hexo n “< blog name >”是创建一篇新的博客,执行该命令之后在 E:\hexo\source_posts 目录下产生< blog name >.md文件,这是你的一篇新博客。可以在markdown工具下编写,这里我就不详细介绍了,详细可以看这篇说明:Markdown 语法说明(简体中文版)

部署到Github

在github上创建一个仓库

刚才的步骤已经可以在本地上编辑文章,然后在本地可以查看效果了。接下来就是讲博客系统部署到Github上。如果不清楚github是干什么用的,可以查看维基百科:github -wiki

在github上注册一个账号,如果有就省去这一步,创建一个仓库,Repository name和自己的用户名相同。比如我的用户名为wenjunoy,那么Repository wenjunoy.github.io

配置SSH

上传文件需要配置ssh key,不然无法上传。

设置name和emai
git config --global user.name "<your name>"
git config --global user.email "<your email>"

需要注意的是这里的name是随意的,邮箱是你的联系邮箱,与github上的邮箱无关。

生成ssh 密钥
ssh-keygen -t rsa -C "<your github's email>"

一路按回车键即可,如果设置了密码请记住。
这一步在~/.ssh/下生成了两个文件id_rsa 和 id_rsa.pub

在Github上添加SSH密钥

打开上述的id_rsa.pub 文件,复制其内容,在https://github.com/settings/keys下 add new ssh key,

title随便填写,作为你的电脑的一个记号。确定即可。

测试

1
ssh git@github.com

显示如下即成功

1
2
3
4
5
6
The authenticity of host 'github.com (192.30.252.128)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of known hosts.
Hi wenjunoy! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

部署到Github

配置_config.yml

编辑E:\hexo 下的_config.yml,修改 Deployment部分

1
2
3
4
5
6
7
# Deployment
## Docs: https://hexo.io/docs/deployment.html
# ssh://git@github.com/wenjunoy/wenjunoy.github.io
deploy:
type: git
repo: ssh://git@github.com/wenjunoy/wenjunoy.github.io ##这个是你的仓库地址
branch: master

注意和每个分好右面需要添加空格

部署

hexo d部署,执行该命令发现报错

1
ERROR Deployer not found: git

执行如下命令在hexo d

1
2
npm install hexo-deployer-git --save
hexo d

根据提示输入用户名和密码,等待一会便成功了

然后浏览器上访问:http://wenjunoy.github.io,可以看到hexo博客搭建成功。接下来就是专注于写博客吧。

绑定独立域名

购买域名并解析

在域名购买网站上购买自己喜欢的独立域名,如wenjunoy.com,在域名解析页面添加如下的三个解析

配置Github

在Hexo项目的source目录下新建一个文件CNAME
在CNAME中添加一行(自己购买的域名),注意不需要http://

1
wenjunoy.com

然后hexo d -g上传试试,CNAME会添加网站的根目录下,这样就配置好了。登入http://wenjunoy.com试试。