Hexo搭建博客
Contents
记录从0到1搭建Hexo博客2.0~
相比较与1.0,2.0的安装更便捷,使用GitHub Actions后部署方式更"fashion"~主要区别:
- 使用yum安装nodeJs,手动安装的nodeJs在后续使用GitHub Actions中会存在执行hexo命令时报错,需要手动进行Hexo软链接的创建
- 使用yum安装Nginx,便于nginx的启动(通过systemctl)
- 使用GitHub Actions,只需将编写好的markdown push到main分支,便会重新部署,更加的"fashion"
0、Server上安装NodeJs(Hexo依赖NodeJs)
使用 yum install nodejs安装即可
安装完成后使用 node -v 和 npm -v 查看版本号,能成功查看则表示安装成功~
tips:使用yum安装的node位于
/usr/local/bin/node;可以使用which node查看
1、Server上安装Hexo
- 安装Hexo客户端(
npm install -g hexo-cli) - 查看Hexo版本号(
hexo -v)
tips:使用npm安装的hexo位于
/usr/local/bin/hexo;可以使用which hexo查看
2、Server上初始化Hexo
- 在home目录下创建blog文件夹,后续的博客文件都放到这个文件夹下
cd blog, 执行sudo hexo init, 初始化Hexo- 执行
hexo s可以启动hexo,并通过http://yourIp:4000可以访问 - 通过
hexo new "bolgName"可以创建博客,位于blog/source/_post/,之后可以编辑blobName.md来编写博客内容 - 写好后,可以
hexo clean清除缓存,再通过hexo g来生成 - 此时再执行
hexo s,然后http://yourIp:4000就可以看到更新后的博客
tips:后续结合GitHub Actions,则不再需要执行
hexo s启动hexo,只需通过hexo g生成静态文件让nginx访问即可。
3、Hexo + Nginx
- Server上安装Nginx,
yum install nginx
此时可以通过
systemctl status nginx查看nginx的状态为:inactive (dead)
- 编辑nginx的配置文件
/etc/nginx/nginx.conf
tips:利用yum安装nginx的配置文件在这个路径,而nginx脚本在
/usr/sbin/nginx
|
|
- 建议将hexo目录下的
_config.yml中的root和url进行如下配置,否则生成后的JS和CSS文件可能无法读取:
|
|
- 启动nginx
systemctl start nginx
此时可以通过
systemctl status nginx查看nginx的状态为:active (running)
- 此时通过IP即可看到自己的博客内容了。
4、GitHub Actions + Hexo + Nginx
- 在自己的blog repo中创建部署工作流文件,例如:
.github/workflows/deploy.yml - 在deploy.yml中:
|
|
其中secrets.DEPLOY_KEY 、 secrets.SSH_HOST 、 secrets.SSH_USERNAME 为repo -> settings -> Secrets -> Actions 中配置的secret。
具体配置方式参考这篇博客中的 建立 SSH 密钥对 和 将自动化配置写到 GitHub 仓库 这两小节
deploy.yml中最后一行执行的脚本为:
|
|