0%

树莓派Hexo博客搭建

前言

本文将介绍如何使用Hexo+Github搭建个人博客(适用于Linux)。

说明:本片文章参考了CSDN,知乎,他人博客。特别感谢CSDN树莓派搭建个人博客的作者 周-周 ,知乎GitHub+Hexo 搭建个人网站详细教程的作者 知乎用户wdnLIq,个人博客记录Hexo建站的作者Homepea。写这篇文章的目的在于记录下自己搭建Hexo博客的过程。

创建GitHub的个人仓库

登录到GitHub,如果没有Github账号先注册登录完成后看到界面右上角有个 + 号,点击 + 号会有一个下拉菜单,点击 New repository 创建个人仓库。

[图片待更新]

进入 Create a new repository 界面,下方有一个 Repository name 在下面方框内输入仓库名: 用户名.github.io(注意:必须以.github.io结尾,这是固定写法)。例如: faimhr.github.io

[图片待更新]

相关软件配置

安装git

用putty进入终端输入以下命令,安装git

1
sudo apt-get install git

注: git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。是Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

在终端输入一下命令修改全局用户名(需要修改双引号中的内容)

1
2
git config --global user.name "你的GitHub/Gitee用户名"  
git config --global user.email "你的GitHub/Gitee邮箱"

在终端输入以下命令查看是否修改成功:

1
git config --list

如果能看到刚刚输入的 用户名和邮箱 ,说明已经修改完成了。

[图片待更新]

安装Node.js

首先查看树莓派的架构,树莓派终端输入命令:

1
uname -a

[图片待更新]

此处armv71表示是armv7架构的,记住这个下一步会用到。

登录Nood.js官网找到对应的型号。

目前最新的版本是 18.15.0 ,可以选择其他的版本只需要修改版本号就行。(如果最新版本安装不成功也可以试试其他的版本)

在终端输入以下命令:

1
wget https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-armv7l.tar.xz

由于是国外网站下载可能会比较慢,可以使用国内的镜像进行下载。

在终端中输入以下命令:

1
wget https://cdn.npm.taobao.org/dist/node/latest-v18.x/node-v18.15.0-linux-armv7l.tar.xz

下载完成后,会得到一个二进制压缩包,需要对其进行解压。

在终端中输入以下命令:

1
xz -d node-v18.15.0-linux-armv7l.tar.xz && tar -xavf node-v18.15.0-linux-armv7l.tar

如果失败请尝试以下命令:

1
sudo xz -d node-v18.15.0-linux-armv7l.tar.xz && sudo tar -xavf node-v18.15.0-linux-armv7l.tar

如果还不成功建议尝试其他版本,参考文章使用了 v14.15.4

解压后,将解压文件移动到 /usr/local/node 下,在终端输入:

1
sudo mv ./node-v18.15.0-linux-armv7l /usr/local/node

然后为 nodenpm 建立软连接,在终端输入:

1
2
3
sudo ln -s /usr/local/node/bin/node /usr/bin/node
sudo ln -s /usr/local/node/bin/npm /usr/bin/npm
#这类似于Windows中的快捷方式

可以通过以下命令检测Node.js是否安装成功

1
node -v

可以通过以下命令检测npm是否安装成功

1
npm -v

显示正确的版本号后说明已经完成了安装,接下来准备安装 hexo 博客框架。

Hexo博客搭建

首先在终端输入以下命令回到树莓派根目录

1
cd

接下来需要给Hexo创建一个文件夹来存放博客相关的内容,文件夹的名字可以任意,这里以blog为例。

在终端输入以下命令

1
sudo mkdir blog

在终端输入以下命令进入刚刚创建的文件夹

1
cd blog

进入文件夹后将初始化Hexo,在终端中输入以下命令

1
sudo hexo init

启动Hexo,在终端中输入以下命令

1
sudo hexo s

终端会出现一个 网址 ,并说按 ctrl + c 退出

[图片待更新]

此时在退出前可以在 树莓派浏览器 输入 该网址 查看搭建的博客,也可以在与树莓派连接 同一个网络电脑的浏览器 上输入 树莓派IP:4000 查看搭建的博客。

打开后我们可以看到一篇Hexo自动生成的标题为 Hello World 的文章,简述了Hexo的用法,可以自行查看。

[图片待更新]

回到终端按 ctrl + c 退出浏览,此时就完成了Hexo本地的搭建,接下来将把本地的Hexo部署到一开始创建的GitHub个人仓库中,实现可以随时随地打开个人博客。

本地的Hexo部署到GitHub个人仓库中

首先在终端输入以下命令进入博客的根目录

1
cd blog

注意:如果此时终端还在其他文件夹中,必须先回到根目录下再进行以上操作。

进入博客根目录后,需要安装一个Hexo的上传插件(保证后面本地到GitHub的部署),在终端中输入以下命令

1
sudo cnpm install --save hexo-deployer-git

安装完成后,需要修改Hexo配置文件指定仓库路径

我们先找到博客根目录下的配置文件 _config.yml ,后面我们统一称其为 站点配置文件

在博客根目录下输入以下命令可以查看该文件夹下 除了隐藏文件的所有文件

1
ls

输入以下命令可以查看该文件夹下 所有文件

1
ls -a

此时我们一定能看到一个名字是 _config.yml 的文件,输入以下命令进入该文件

1
sudo nano _config.yml

进入_config.yml后,找到deploy: (可以用 ctrl + w 搜索),在后面修改或增加以下内容

1
2
3
4
5
deploy:
type: git
repo: https://github.com/你的账户名/你的账户名.github.io
branch: master
# 注意这里的冒号后要加空格!!!

修改完成后,按 ctrl + x 退出文件编辑,提示是否保存,输入 y 保存,提示文件名是否修改,不修改直接按 回车

完成后在终端中输入以下命令,确保终端在博客的根目录下,这时终端的确是在博客根目录下,但以后自己修改其他文件的时候可能结束编辑后不在这个位置了, 要对博客进行部署操作要在博客根目录文件夹下进行操作!

1
cd blog

然后在终端依次执行以下三条命令

1
2
3
sudo hexo clean
sudo hexo g
sudo hexo s

当然也可以直接输入以下命令,它会自动依次执行

1
sudo hexo clean && sudo hexo g && sudo hexo s

sudo hexo clean 是用于清理缓存文件

sudo hexo g 是用于重新生成静态文件

sudo hexo s 是用于启动本地服务器

以上三步完成后按 ctrl + c 退出

在终端中输入以下命令

1
sudo hexo d

sudo hexo d 是用于把静态文件部署到设定的仓库

如果没有错误的话,终端上会要求输入你的GitHub用户名和密码,此处需要注意了。

在2021年8月14日开始github官方就加强安全访问。不能通过原有账号密码git访问,密码需要用官方的token或者采用ssh公私钥访问。否则会出现:鉴权失败(用户名密码错误)

[图片待更新]

1
2
3
官方原话:
近年来,GitHub 客户受益于 GitHub.com 的许多安全增强功能,例如双因素身份验证、登录警报、经过验证的设备、防止使用泄露密码和 WebAuthn 支持。 这些功能使攻击者更难获取在多个网站上重复使用的密码并使用它来尝试访问您的 GitHub 帐户。 尽管有这些改进,但由于历史原因,未启用双因素身份验证的客户仍能够仅使用其GitHub 用户名和密码继续对 Git 和 API 操作进行身份验证。
从 2021 年 8 月 13 日开始,我们将在对 Git 操作进行身份验证时不再接受帐户密码,并将要求使用基于令牌(token)的身份验证,例如个人访问令牌(针对开发人员)或 OAuth 或 GitHub 应用程序安装令牌(针对集成商) GitHub.com 上所有经过身份验证的 Git 操作。 您也可以继续在您喜欢的地方使用 SSH 密钥

那么就需要获得token或者ssh公私钥。

如何获得token

登录github点击 右上角头像旁边的下拉菜单 选择 setting-> Developer Settings-> Prosonal access tokens -> Tokens(classic) 点进去右边会看到 Generate new token ,点击并选择 Generate new token(classic) 进去后 Note栏 任意取一个名字就行,Expiration 需要选择一个有效期,按自己的喜好选就行,嫌麻烦就选 No Expiration ,选完后拉到最下面点击 Generate token 这样创建一个新token,此时页面会跳转,需要把新token复制下来保存好就行了,每次更新复制粘贴就行了。

[图片待更新]

此时回到终端输入GitHub用户名和token即可。

注:网上有能直接使用公钥跳过每次输入用户名和密码的步骤,但是我没有成功,还不知道问题在哪里,要是找到问题后面再更新。

终端出现 INFO Deplay done: git 说明已经部署成功了。

此时可以在任意手机电脑的浏览器输入仓库的名字就能随时进行访问了。

到这里 GitHub+Hexo 搭建的个人网站就顺利完成了!后面就可以在 blog/source/_posts/ 这个文件夹下写文章了,所有博客都是以 .md 格式保存的。当然hexo博客支持很多不同的主题,可以对自己的博客进行美化,这就后面在Hexo博客美化文章中更新吧。

-------------本文结束感谢您的阅读-------------