本文记录了自己在CentOS8上搭建Hexo的过程
什么是Hexo
官方文档的概述:Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
安装Hexo
Hexo
需要 Node.js
与 git
建议:切换到root用户:sudo su root(避免一些因为权限不够的问题)
安装一些必要的依赖项
1
|
yum install -y gcc-c++ make wget curl unzip git
|
安装Node.js
我的话是安装了14版本
每个版本的安装链接参照 https://github.com/nodesource/distributions#rpminstall
1
2
3
|
curl -fsSL https://rpm.nodesource.com/setup_14.x | bash -
yum install -y nodejs
|
安装Hexo
1
|
npm install -g hexo-cli
|
此时Hexo已经安装好了,接下来开始搭建Hexo
博客搭建
创建目录
我这是在根目录底下创建了 blog
目录
新建博客
初始化Hexo,会自动创建好所需文件
进入 blog
目录安装依赖
1
2
3
|
cd /blog
npm install
|
运行博客
使用 hexo s
或 hexo server
来运行博客
然后可以在http://localhost:4000/
查看运行效果,hexo s
默认只允许本地访问
由于我是阿里云的服务器得远程访问,使用了 -i
与 -p
参数
1
|
hexo s -i 0.0.0.0 -p 80
|
运行后就会有一个英文界面的Hexo初始界面
至此,你的Hexo就已经搭建完成了
后续的话需要修改配置实现中文以及其它设置
配置与优化Hexo
配置
Hexo博客配置为博客根目录下的 _config.yml
1
2
3
4
5
6
7
8
9
|
# Site
title: 良月二十's Blog //博客标题(改成自己的)
subtitle: '' //副标题
description: '' //博客描述,SEO会用到
keywords: //网站关键字
author: 良月二十 //博客主
language: zh-CN //语言
timezone: Asia/Shanghai //时区
|
百度有更详细的配置文件,我们目前有用到的只有这些
优化
自己使用的是Even主题
1
2
3
4
5
6
7
8
9
10
|
进入hexo根目录:
cd /blog
安装 hexo-renderer-scss 插件:
npm install hexo-renderer-scss --save
npm i hexo-renderer-swig
将主题下载到 /themes 目录下:
git clone https://github.com/ahonn/hexo-theme-even.git themes/even
|
打开hexo的配置文件,_config.yml
,启用 Even 主题。 修改 theme
字段为 even
:
1
2
3
4
|
# Extensions
## Plugins: http://hexo.io/plugins/
## Themes: http://hexo.io/themes/
theme: even
|
更多详情可以参考even主题文档
https://github.com/ahonn/hexo-theme-even/wiki
最后
Hexo默认的文档存放目录是在 /blog/source/_posts
,文章可以使用Markdown写好后放到里面
编译nginx
下载
官网下载nginx包
1
|
wget http://nginx.org/download/nginx-1.20.1.tar.gz /usr/local/
|
配置Nginx编译安装所需要的环境(按需配置)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
1.gcc环境
安装Nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:
# yum install -y gcc-c++
2.PCRE环境
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。Nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
# yum install -y pcre pcre-devel
3.zlib环境
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
# yum install -y zlib zlib-devel
4.openssl环境
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
# yum install -y openssl openssl-devel
|
编译安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# 进去刚刚下载nginx的路径
cd /usr/local/
# 解压Nginx
tar -zxvf nginx-1.20.1.tar.gz
# 进入解压目录
cd nginx-1.20.1
# 配置Nginx编译参数 ./configure --prefix=指定Nginx安装路径 --add-module=添加安装模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_v2_module
# 编译安装
make
make install
|
具体编译参数可参考: Nginx编译参数
启动Nginx查看是否安装成功
1
2
3
4
5
6
7
8
|
# cd nginx安装路径/sbin
/usr/local/nginx/sbin
# 启动Nginx
./nginx
# 查看是否安装成功
ps -ef | grep nginx
|
Nginx基本命令的介绍
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# 启动Nginx
./nginx
# 启动Nginx指定配置文件
./nginx -c 配置文件路径
如果不指定-c,Nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(--conf-path= 指向配置文件(nginx.conf))
# 优雅停止Nginx
./nginx -s quit
此方式停止步骤是待Nginx进程处理任务完毕进行停止
# 强制停止
./nginx -s stop
此方式相当于先查出Nginx进程id再使用kill命令强制杀掉进程
# 重新加载配置文件
./nginx -s reload
|