^-^
CentOS部署Hexo博客并配置A4主题

一、前言

本站搭建的简单记录。
部署在云服务器上,系统用的CentOS7,Web服务器用的Nginx。

Hexo简介

Hexo 是一个基于 Node.js 的静态博客框架,可以快速、简单地搭建个人博客网站。 使用Markdown,支持自定义主题和插件。Hexo官网

二、部署Hexo

Hexo文档

1、环境说明

  • CentOS 7.8
  • Nodejs 14.18.1
  • Nginx 1.13.7
  • pm2 5.3.1

2、准备工作

Hexo是基于Nodejs的,所以要先安装Nodejs,但在此之前先在官网文档上看一下版本限制。
但一般Nodejs是都已经有了,然后也有了npm,问题在更新版本上。
安装和更新Nodejs建议用一些Node版本管理工具,比如我用的n,或者其他nvm什么的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#1、安装n
npm install -g n

#2、用n安装指定版本的Nodejs:
#直接 “n 指定版本号”就行
n 14.18.1
#切换版本也是直接“n 指定版本号”

#n的其他命令:
#装最新的
n latest
#装最新稳定的
n stable
#查看已经安装的Nodejs
n ls
#删除
n rm <version>

3、安装运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#1、直接全局安装hexo-cli
npm install hexo-cli -g
#装好后就可以使用hexo命令了,直接输入hexo会显示信息

#2、创建hexo目录,初始化并下载依赖
#按着自己习惯的找个地方创建目录
mkdir /usr/local/hexo
#在这个目录里初始化hexo
hexo init
#下载依赖
npm install

#3、运行hexo
#直接输入命令,就可以跑起来了
hexo s
#默认端口是4000

4、后台运行

后台运行用的pm2,可以用shell脚本实现。

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
28
29
30
31
32
33
34
35
36
37
#1、安装pm2
npm install -g pm2

#2、写pm2要执行的脚本
#hexo目录下创建一个文件hexo.js
vim /usr/local/hexo/hexo.js

#里面写这些
const { exec } = require('child_process')
exec('hexo s -p 4000',(error, stdout, stderr) => {
if(error){
console.log('exec error: ${error}')
return
}
console.log('stdout: ${stdout}');
console.log('stderr: ${stderr}');
})

#主要就是留意第10行,其中的'hexo s -p 4000'也就是这段代码要执行的命令
#看得出来就是hexo s而已,然后指定上端口4000,其实不指定也行默认就是4000

#3、然后执行
pm2 start hexo.js

#其他pm2的命令:
#启动
pm2 start xx.js
#停止
pm2 stop xx
#重启
pm2 restart xx
#显示当前运行的所有应用程序
pm2 list
#查看详细信息
pm2 show xx
#从进程列表中删除应用程序
pm2 delete xx

5、反向代理

1
2
3
4
5
6
7
8
server {
listen 80;
server_name xxx.com;

location / {
proxy_pass http://localhost:4000;
}
}

三、安装主题A4

1、A4主题

「仿A4纸张的一个hexo极简主题。主打一个简洁,体积小,配置少。」
「让读者专注于阅读文字,写者专注于写作。」
官方文档。」

2、安装

上面的使用文档里也有。讲得很清楚。
1、更改Hexo配置文件
首先把Hexo目录下的配置文件_config.yml的主题设置一下。
theme: hexo-theme-a4
2、npm下载主题
在目录下用npm下载
npm install hexo-theme-a4@latest
最终只要保证Hexo目录下的themes文件夹里存在hexo-theme-a4的主题文件夹就行了。
3、设置A4主题配置文件
themes/hexo-theme-a4的目录下也有_config.yml,其中就是A4主题的配置,直接修改就能生效。