前言

在我第二次给网站装修的时候,曾经考虑过使用Hexo,不过那个时候看到人家好看的模板需要一定的网页基础,遂就放弃了,随着我今天发现我的网站似乎CSSCDN服务停止了,遂打算用Hexo+Github+COS来完成网站的布置和搬迁,这样一来可以剩下一笔费用,而且因为Hexo是纯静态的,所以加载速度也会很快。

以此文章记录和帮助需要帮助的伙伴。

什么是Hexo

Hexo是一个轻量级的博客框架,它是通过生成静态网页来实现网站的建设,因为是HTML形式,所以它的访问速度是很快的,关于Hexo网站可以通过点击访问Hexo官网

Hexo的搭建

环境安装

Hexo需要在电脑上安装Node.JSGit,如果你已经安装了这两个环境,则可以跳过这部分,直接到Hexo的部署。此处安装示例环境为Windows环境,其他系统请自行参考别的文章。

如果以上官网无法访问,可以尝试科学上网或者寻找其他镜像途径

在安装结束后,可以通过如下CMD命令来验证是否安装成功

1
2
# 验证Node.JS的版本
node --version

如果返回的是一串版本号,例如18.1.0,则证明安装成功。

在完成了上面的基础环境安装,使用如下代码安装Hexo,代码示例:

1
npm install -g hexo-cli

在完成如上准备后,就可以正式开启Hexo博客之路。

建站预览

现在寻找一个文件位置来存放Hexo网站相关根文件,使用如下代码来完成初始化:

1
hexo init

注:执行上述代码前,需要确保当前目录为安装根文件目录;如果不是,则使用cd命令切换至对应目录

完成Hexo的初始化后,可以看到在对应的目录下,会生成如下的相关文件:

image-20220519104258168

如果初始化失败,则删除对应目录下的文件,切换网络重新执行如上命令即可。

初始化完成后,使用如下代码来在本地开一个端口,查看建站效果:

1
hexo s

如果命令执行报错,返回的错误是找不到命令之类的,需要在Hexo的根目录下使用该命令,或者你也可以将安装目录\Hexo\node_modules\.bin添加到环境变量中,关于如何设置环境变量,可以查看我的这篇文章环境变量那些事

执行命令后,会显示一个访问地址,复制到浏览器上即可查看预览效果,如下图所示:

image-20220519104626862 image-20220519104737970

按下Ctrl+C即可停止本地端口占用,即关闭了网站的访问预览。

如果预览网站报错了,则尝试如下解决办法:

  • 有进程占用了默认4000端口,可以使用命令hexo s -p 5000
  • 或者是因为你的电脑没有配置IIS,可以通过【打开控制面板】,选择【程序和功能】,选择【打开或关闭Windows功能】,找到【Internet information services】选中即可。

主题配置

可以通过官方的主题页面选择自己喜欢的主题(如果你不想自己开发的话),Hexo主题(点击访问),或者从GitHub等途径自行寻找相关主题,然后根据主题的要求来安装和使用主题。

需要注意的是:安装主题需要在Hexo根目录下,即themes里创建相关主题的文件夹即可

主题配置完成后,可以使用上面的命令Hexo s来启动预览网站。

Hexo部署

Hexo因为是生成的静态页面,所以可以部署在很多地方,例如:GithubGitee,相关对象存储或者服务器上,此处仅示例如何部署在:GitHub和腾讯云的COS上

部署到GitHubPages

关于Git和GitHub的基本使用,可以参考Git与GitHub(上)

Hexo为 GitHub Pages 的部署提供了便利的部署方式,可以通过下面的命令来实现部署:

1
2
3
hexo deploy 
# 或者简写为
hexo d

在使用该命令部署到GitHub页面之前,需要我们在Hexo的配置文件中,提供一些必要的参数

添加配置文件参数

**Hexo 的配置文件在安装/初始化目录下,名称为_config.yml**,打开文件找到如下部分:

image-20220604152435494
  • type:在本方法下,填写git
  • repo:你所存放网页的Github仓库地址
  • branch:分支名称,如果不懂的话填main即可
  • token:访问GitHub账户的令牌,它可以验证是否有权限操作仓库

如上前三个参数,可以快速填写,我们需要填写第四个token参数,才能实现上传前的设置。

token的获取

  1. 进入【个人账户的设置】中

    image-20220604153054210
  2. 在页面的最下面找到并【选择Developer settings(开发者选项)】

    image-20220604153219875
  3. 在新的页面找到并【选择Personal access tokens(个人访问令牌)】,然后【选择Generate new token(生成新令牌)】

    image-20220604153458147
  4. 在创建token的页面中Note(名称)可以随便填,Expiration(令牌期限)可以选择no expiration(不限制期限) ,下面的Select scopes(权限范围)全选即可。

    image-20220604153920416
  5. 最后【点击Generate token】就创建好token了,然后【复制给出的token值】,【填写到配置文件】中token:的部分就完成了部署前的配置。

这个时候可以通过使用hexo d命令来测试上传部署到指定的GitHub仓库是否正常,如果最后反馈一行INFO Deploy done: git,则表示上传部署成功

部署到腾讯云COS

感兴趣但是不了解的COS的可以查看这篇文章关于网站搭建那些事(下)

官方并没有对腾讯云的COS(对象存储)做直接的配置,所以我们需要下载其他开发者的插件,此处**使用hexo-deployer-cos,项目地址hexo-deployer-cos**,如果对你有帮助,可以给插件开发者点个Star

在hexo安装的目录下,使用如下命令进行插件的安装:

1
npm install hexo-deployer-cos --save

安装成功后,在hexo 的配置文件中,添加如下部分内容

1
2
3
4
5
6
deploy:
type: cos
secretId: yourSecretId
secretKey: yourSecretKey
bucket: yourBucket
region: yourRegion

关于上述的secretID等参数可以在创建COS存储桶的时候获取到,COS的创建可以访问对象存储COS来创建,关于COS的更多说明和处理,参见关于网站搭建那些事(下)

注:对象存储是需要对存储空间和访问流量进行收费的

End

如上就完成了Hexo 的基本部署,以后如果你的博客更新都需要通过hexo d的命令来实现。

关于Hexo的文章更新,文章编写,插件,主题等配置可以参见Hexo入门(下)