hexo blog

Hexo

安装git

1
2
apt-get install git-core
git -version

安装node.js

1.下载并导入 Nodesource GPG 密钥

1
2
3
4
5
6
apt-get update

apt-get install -y ca-certificates curl gnupg
mkdir -p /etc/apt/keyrings

curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

2.创建 deb 存储库

1
2
3
NODE_MAJOR=20

echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

3.运行更新并安装

1
2
apt-get update
apt-get install nodejs -y

4.验证安装
检查Node.js和npm的版本:

1
2
bashCopy codenode -v
npm -v

安装Hexo

1.安装hexo-cli 相比hexo安装一些hexo的命令

1
npm install -g hexo-cli

2.生成所需要文件

hexo(命令)会复制对应的文件到blog文件夹下

1
hexo init blog

3.进入blog

1
cd blog

4.生成网站页面

1
hexo g

5.运行hexo

1
hexo s

6.修改默认端口

修改package.json

在server命令中添加 -p 端口号 配置。 这时启动hexo就不能再用hexo server命令了,而是使用npm run server启动

1
vim package.json
1
2
3
4
5
6
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server -p 80"
},

7.启动

1
npm run server

安装主题 安知鱼

1.下载

1
git clone -b main https://github.com/anzhiyu-c/hexo-theme-anzhiyu.git themes/anzhiyu

2.应用主题

打开 Hexo 根目录下的 config.yml, 找到以下配置项,把主题改为anzhiyu

1
2
3
4
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: anzhiyu

3.安装 pug 和 stylus 渲染插件

1
npm install hexo-renderer-pug hexo-renderer-stylus --save

4.配置覆盖

覆盖配置可以使主题配置放置在 anzhiyu 目录之外,避免在更新主题时丢失自定义的配置。
以后如果修改任何主题配置,都只需修改 _config.anzhiyu.yml 的配置即可。

1
cp -rf ./themes/anzhiyu/_config.yml ./_config.anzhiyu.yml

5.启动hexo

1
2
3
4
hexo cl
hexo g
npm run server
hexo clean && hexo g && npm run server

Markdown文件部署

Front-matter

markdown 文件最上方以 --- 分隔的区域,用于指定个别档案的变数。其中又分为两种 markdown 里

  1. Page Front-matter 用于页面配置
  2. Post Front-matter 用于文章页配置

后台运行

安装pm2模块

什么是pm2模块

PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。 下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和配置。

1
npm install -g pm2

在博客根目录下创建run.js文件

在博客根目录下创建一个run.js的文件,并在里面输入如下内容:

1
2
3
4
5
6
7
8
9
10
//将hexo保持后台运行
const { exec } = require('child_process')
exec('npm run server',(error, stdout, stderr) => {
if(error){
console.log('exec error: ${error}')
return
}
console.log('stdout: ${stdout}');
console.log('stderr: ${stderr}');
})

之后在根目录下运行

输入:pm2 start run.js

其他

如何关停pm2

输入pm2 stop all来关停所有的pm2运行项目