hexo搭建教程
发表于:2023-07-29 |

前言

Hexo是一个基于 node.js的快速生成静态博客的开源框架,支持 Markdown和大多数 Octopress插件,一个命令即可部署到 Github页面、 Giteee、 Heroku等,强大的APl,可无限扩展,拥有数百个主题和插件。

本文仅对于windows下搭建blog

一 、环境准备

1、Github

注册GitHub账号

2、Node.js

Node.js官网:下载 | Node.js (nodejs.org)
(Node.js自带npm)

3、Git

git官网:Git - Downloads (git-scm.com)

二、绑定GitHub

为什么要绑定GitHub呢?就是为了方便我们上传文件。在这里我们利用SSH来完成GitHub的绑定并提交文件

1
2
3
4
5
SSH(安全外壳协议,Secure Shell 的缩写)是建立在应用层基础上的安全协议。
SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,
利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
简单来说,SSH就是保障你的账户安全,将你的数据加密压缩,
不仅防止其他人截获你的数据,还能加快传输速度。

如果想详细了解的话,可以看这篇文章:详述 SSH 的原理及其应用

1、绑定ssh

开始我们要用git上传文件到GitHub首先得利用SSH登录远程主机,而登录方式有两种:一种是口令登录,另一种是公钥登录。口令登录每次都要输入密码十分麻烦,而公钥登录就省去了输入密码的步骤,所以我们选择公钥授权。首先我们得在 GitHub 上添加 SSH key 配置,要想生成SSH key,就要先安装 SSH,不过我们安装了 Git Bash,其自带了 SSH。检验一下是否安装 SSH,我们打开 Git Bash:键入ssh检查本机是否安装ssh

图片示例

如图,即已经成功安装了ssh,然后键入ssh-keygen -t rsa -C "xxxxx@xxx.com"命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
`ssh-keygen`
`从客户端来看,SSH提供两种级别的安全验证:`
`第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机
所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器
可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击`
`第二种级别(基于密钥的安全验证)ssh-keygen:需要依靠密钥,这里的密钥是非对称密钥`

`-t : t是type的缩写`
`-t 即指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSA`

`rsa:是指RSA算法`
`RSA:RSA加密算法是一种非对称加密算法,是由三个麻省理工的牛人弄出来的
RSA是他们三个人姓的开头首字母组合`
`DSA:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种`
`为了让两个linux机器之间使用ssh不需要用户名和密码。所以采用了数字签名RSA或者DSA来完成这个操作
ssh-keygen默认使用rsa密钥,所以不加-t rsa也行,如果你想生成dsa密钥,就需要加参数-t dsa`

`-b :b是bit的缩写`
`-b 指定密钥长度。`
`对于RSA密钥,最小要求768位,默认是2048位。4096指的是RSA密钥长度为4096位`
`DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。`

`-C:C是comment的缩写`
`-C表示提供一个注释,用于识别这个密钥。`

`“你的邮箱地址(因为邮箱地址具有唯一性所以一般用这个)”:用于识别这个密钥的注释
引号里的内容为注释的内容,所以" "里面不一定填邮箱,可以输入任何内容。`

我们选择RSA算法生成密钥,然后一直敲三到四次回车(要求设密码,我们不管,那样很麻烦),Windows系统中,C:/Users/用户/.ssh下会生成秘钥 id_rsa 和公钥 id_rsa.pub

1
`SSH Key的秘钥对:id_rsa是私钥,不能泄露;id_rsa.pub是公钥,可以公开。`

我们用记事本打开id_rsa.pub,复制里面的内容,或者直接在git上面打开
cd ~/.ssh
ls
cat id_rsa.pub
接下来我们进入Github,点击右上角,然后打开settings
图片示例
在左边找到SSH and GPG keys,打开后点击绿色的New SSH key,将复制的公钥 id_rsa.pub 的内容粘贴到 key 内,title填不填都可以,主要用于区分不同的公钥,最后再点击 Add SSH key

我们在git中键入ssh -T git@github.com进行验证,第一次通常需要键入yes

2、创建仓库

在GitHub主页点击绿色的new,创建一个新的仓库,仓库名称一定要为昵称.github.io(如:Mazeaaa.github.io),并设为Public
图片示例

三、安装hexo

1、安装

我们先在D盘创建一个文件夹blog,打开blog文件夹
鼠标右键打开Open Git Bush here,键入npm命令安装hexonpm install -g hexo-cli
安装完成后,输入hexo init命令初始化博客,然后hexo g静态部署

此时网页已经部署完毕,我们先输入hexo s命令查看
浏览器输入 http://localhost:4000 就可以打开新部署好的网页

看完后在git用CTRL+C停止运行

2、部署到GitHub

进入GitHub,打开刚才创建的仓库,点击右上方绿色的Code,复制HTTPS中的内容图片示例

接下来打开blog文件夹,用记事本打开_config.yml文件
图片示例
滑到最下面,修改以下内容,注意每个冒号后面都有一个空格

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repository: https://github.com/xxx/xxx.github.io.git #你的仓库地址
branch: main

我们在blog文件夹里打开git,安装git部署插件,输入npm install hexo-deployer-git --save

然后分别输入下面三条命令

1
2
3
hexo clean   #清除缓存文件 db.json 和已生成的静态文件 public
hexo g #生成网站静态文件到默认设置的 public 文件夹(hexo generate 的缩写)
hexo d #自动生成网站静态文件,并部署到设定的仓库(hexo deploy 的缩写)

如果第三条命令报错,则使用魔法后重新输入命令
完成以后,打开浏览器,输入https://xxx.github.io即可打开你的网页

我们会发现这个网址是由GitHub提供,如果想要一定程度自定义域名,可以通过购买来实现,需要我们解析域名和绑定域名

上一篇:
id卡写入NFC
下一篇:
Hello World