在windows 上搭建Hexo博客并且部署到GitHub上面。在搭建的时候遇到不少问题,如Git的ssh问题,网站编译上传问题等,这里就写一份我安装成功后的步骤说明,当然很多方法都是来源于百度的,在这里谢谢网络世界里面热心贡献心得方法的大神们。

—— 方法不一定适应每个人每台机器,如不能成功,请问度娘。

1. 准备工作

安装完成之后鼠标在桌面任意点击右键在下拉菜单中 出现
[Git GUI Here]
[Git Bash Here]
这两个菜单 选择 [Git Bash Here] 点击打开

2. 安装 Hexo

(1) 安装hexo之前先安装一个 CNPM 的淘宝 NPM 镜像

输入命令:

1
$ npm install -g cnpm --registry=https://registry.npm.taobao.org

在打开的 [Git Bash] 中输入以上命令 然后等待安装完成,如果不想用 CNPM 的话直接跳过这个步骤 (以下介绍都会用cnmp进行安装依赖)

(2) 安装Hexo

输入命令:

1
$ cnpm install hexo-cli -g

注:-g 指的是全局安装 然后可以执行 hexo 的内置命令
安装完成之后 关闭 [Git Bash]

(3) 创建本地文件夹(如 HexoBlog)

  • 在你喜爱的文件夹下(如 D:\Hexo\hexoBlog)
  • 在创建的文件夹中点击右键打开 [Git Bash]

输入命令:

1
$ hexo init

Hexo 即会自动在目标文件夹建立网站所需要的所有文件。

(4) 安装依赖包

等待上一步完成之后。

输入命令:

1
$ cnpm install

注:这些依赖是必须下载的,第一次下载可能会等待很长一段时间。

(5) 运行博客

等待上一步完成之后。

输入命令:

1
$ hexo server

  1. 运行成功后 [Git Bash]里面会有一个监听端口
  2. 一般默认为 http://localhost:4000
  3. 在浏览器打开这个窗口就能看到最原始的博客界面

注:关闭 [Git Bash] 就会终止博客程序运行

(6) 安装一个主题

这里提供Hexo的一些相关网站
Hexo 中文官网 https://hexo.io/zh-cn/
Hexo 主题 https://hexo.io/themes/

选择一款主题,按照主题的内置文档进行修改配置安装这里就不写步骤了。

3 创建GitHub

(1) 注册账号(省略…)

(2) 创建Repository (仓库)

  1. 创建的时候注意 Repository 的名字。
  2. 比如我的 Github 账号是 JooZh,
  3. 那么我应该创建的 Repository 的名字是:JooZh.github.io。

注:仓库名的必须是这种格式否则导致出错

(3) 修改 Hexo 配置文件

  1. 在刚刚创建的仓库中 点击 绿色的 Clone or download 按钮
  2. 复制以下路径 如: git@github.com:JooZh/JooZh.github.io.git
  3. 在 博客根目录下找到 _config.yml 文件 用编辑器打开这个文件
  4. 修改文件最下面的deploy。其中的repo就改成你刚刚复制的地址。
  5. 保存这个文件。

代码如下: 注deploy 后面要有一个空格

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

(4) 生成SSH keys

首先:检查是否存在 SSH keys

输入命令:

1
$ ls -al ~/.ssh

如果出现以下类似代码说明已经生成过

1
2
3
4
5
6
7
drwxr-xr-x 1 admin 197609 0 7月 20 09:28 ./
drwxr-xr-x 1 admin 197609 0 7月 20 09:28 ../
-rw-r--r-- 1 admin 197609 1679 7月 20 09:28 github_rsa
-rw-r--r-- 1 admin 197609 390 7月 20 09:28 github_rsa.pub
-rw-r--r-- 1 admin 197609 1675 7月 19 11:11 id_rsa
-rw-r--r-- 1 admin 197609 398 7月 19 11:11 id_rsa.pub
-rw-r--r-- 1 admin 197609 407 7月 19 11:16 known_hosts

进入个人的用户文件夹中的.ssh 文件夹 ( 路径大概是这个样子 C:\Users\admin\.ssh 中间的 admin 就是你的用户名 ) 删除目录中的所有内容(文件名为 id_rsa / id_rsa.pub / known_hosts)

删除完成后

输入命令:

1
$ ssh-keygen -t rsa -C "youremail@163.com"

如果提示要选择 yes / no 的时候请直接按三次回车即可
生成如下的类似内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
he key fingerprint is:
SHA256:lJIMFWjQsEUTr1kmbWF62SMVuS8+KA5p055QnIb7o50 youremail@163.com
The key's randomart image is:
+---[RSA 2048]----+
| o=*+=.oo |
| o+O *.. |
| ..o & =. |
| o X +.. |
| . B S. |
| * . . |
| B . o . |
| . Boo. o |
| .oEo . |
+----[SHA256]-----+

完成上一步之后

输入命令:

1
$ ssh-agent -s

完成上一步之后

输入命令:

1
$ ssh-add ~/.ssh/id_rsa

如果出现如下报错内容

1
Could not open a connection to your autentication agent

输入命令:

1
$ eval `ssh-agent -s`

输入命令:

1
$ ssh-add

到这里,添加SSH key到你的Github账户了。

输入命令:

1
$ clip < ~/.ssh/id_rsa.pub

(4) 设置 GitHub 中的 SSH keys

设置过程

  1. 登陆网页版的 GitHub
  2. 在右上角的个人头像点击下拉菜单 选择 Settings 进入设置页面
  3. 点击左侧的 SSH and GPG keys 按钮
  4. 点击右上角的 new SSH key 按钮 新建一个 SSH
  5. Title 名称任意 如(myHexoBlog)
  6. key 设置如下

用编辑器 打开 id_rsa.pub 这个文件

文件在 C:\Users\admin\.ssh 目录中,中间的 admin 就是你的用户名

然后就会看的如下代码

1
2
3
4
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSkHFGkJ5DrPxg5sEjU6M9pVEvJf4j
n7NoNLOH+1qhgxwgX4PsVufgl8Y+M8YWsAkgQc.........h0nCAGZ4ImJQBJcUsiKoL
hZyn7uvWmzWN8x7cpdl0/4tfsK5vDu7Nv5xYUiXnuvdcL6S0L9KgQTRQYyy0ApDix6bf
LcaL8+ubF7HKmoP8719qkPA7oU0mJjjr3p1hlUBmWhCL youremail@163.com

全部粘贴到 key 输入框中。

然后点击 Add SSH key 就完成了 SSH key 的添加

测试以下是否链接成功

输入命令:

1
$ ssh -T git@github.com

会提示要你输入 yes/no 当然是输入yes

然后z最后一行出现如下内容即为成功

1
Hi username You've successfull anthenticated. but GitHub does not provide shell access....

关闭 [Git Bash]

4 上传站点到 GitHub

(1) 生成 public 文件目录

因为在GitHub 中我们是将本地的文件进行一个编译打包后生成的静态文件上传上去,所以需要执行一个编译命令。

回到刚才的 博客目录中 在根目录下 打开 [Git Bash]

输入命令:

1
$ hexo generate

然后就看到出现了一个 public 文件夹

输入命令:

1
$ hexo deploy

等待执行完成后整个博客就已经部署完毕

输入 http://yourGitName.github.io/ 即可访问你的博客

最后:每次修改后都要执行一次 hexo generate 命令

1
$ hexo generate

然后 再执行 hexo deploy 命令 保证已经编译过最新的文件。

1
$ hexo deploy