关于个人Hexo博客的搭建历史
仅以此文回顾过去搭建Hexo博客的历程
前言
在早期笔者一直是通过github pages服务来运行博客网站,从而省略了对域名解析、nginx反向代理以及SSL证书的申请与HTTPS服务的开启这些配置
于是后期,笔者租赁了一台纯净Ubutun20.04LTS系统的轻量应用服务器,从零开始基于命令行配置hexo博客以及HTTPS服务的开启
Hexo博客的搭建
本地环境搭建
Git环境
访问git官网Git - Downloads (git-scm.com) 或寻找镜像站清华大学开源软件镜像站 | git for windows 下载对应系统的版本
安装Git,除了安装路径可选择C盘或D盘,其它均可直接下一步
配置环境变量,在系统环境变量的Path变量下增加变量值
参考变量值:D:\Program Files\Git\cmd
win+r输入powershell打开查看git版本信息
1
git -v
显示出了版本号,则说明git配置完成
Nodejs环境
访问nodejs官网Download | Node.js (nodejs.org) 下载对应系统的nodejs版本。(linux系统可直接使用命令行下载而不需要手动配置,使用其它方式则需要手动添加环境变量或者软链接)
windows下载完nodejs后需要配置环境变量(注意不要使用中文路径和带有空格的路径,默认路径中的
Program Files
中的空格会导致命令无法识别)windows参考配置
执行下载的nodejs的msi文件,选择安装路径
D:\nodejs
配置系统环境变量,在Path变量下添加 D:\nodejs\ (这一步nodejs可能会自动配置好)
应用配置,保存关闭。win+r输入powershell打开命令提示符,输入
1
2
3
4# 查看nodejs版本
node -v
# 查看包管理器npm的版本(npm是nodejs默认安装的包管理器)
npm -v以上命令检测到两个版本号后说明配置完成
完成以上步骤后基本就能够使用nodejs来搭建hexo。后续为非必须步骤,如果使用过程中存在一些问题可参考以下步骤解决
如果npm下载失败或下载速度缓慢,可能是由于默认服务器在海外的缘故,可指定国内镜像源下载或配置npm的国内镜像源
1
2
3
4
5
6# 指定镜像源下载,下载时加上--registry的参数,每次下载需要指定
npm install -g 包名 --registry=https://registry.npm.taobao.org
# 设置镜像源,将npm的默认源更换为镜像源
npm config set registry https://registry.npm.taobao.org
# 检测镜像站是否可用
npm config get registry按以上步骤nodejs安装在了D盘,但下载的包仍在C盘,这里的配置是将包从C盘迁移到D盘以减少C盘的占用
在nodejs的根目录下,创建两个文件夹命名为node_global和node_cache,在文件夹的属性——安全里更改所有组或用户的权限为完全控制(防止权限不足而无法下载的问题)
1
2
3
4
5
6
7
8
9
10
11
12# 设置全局安装路径(路径根据实际情况填写)
npm config set prefix "D:\nodejs\node_global"
# 设置全局缓存路径(路径根据实际情况填写)
npm config set cache "D:\nodejs\node_cache"
# 以上命令会在C盘用户文件夹下产生一个.npmrc配置文件由于保存上面的配置信息
# 添加系统环境变量,在Path变量下新增变量值,变量值就是全局安装路径,否则新安装的命令工具无法执行
# 检测全局安装路径
npm root -g
# 查看配置信息
npm config list以上配置完成后,之后下载的包都会放到node_global/node_modules下
nodejs环境搭建完成
Hexo环境
在完成了搭建git和nodejs的环境的基础上,就能够快速使用Hexo
在powershell中执行以下命令
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# 全局安装Hexo命令行工具
npm install -g hexo-cli
# 查看Hexo版本信息
hexo version
# 选择一个合适的文件夹作为Hexo框架的存放目录(这里假设使用一个demo的空文件夹)
# 执行以下3条命令就搭建好了基本的框架
hexo init demo
cd demo
npm install
# 在本地运行Hexo
hexo server # 或简写为hexo s
# 一些常用的Hexo命令
# 新建一篇文章(文章内包含了Hexo的一些格式信息)
hexo new "first blog" # 会在_posts目录下生成一个markdown初始文件,标题为first blog
# 新建一篇草稿(草稿不会在网站上展示)
hexo new draft "my draft" # 会在_drafts目录下生成相应的初始文件
# 新建导航页(导航页主要是展示文章分类、标签、作者简介、友情链接等信息)
hexo new page --path about/me "About me" # 个人简介,这里是固定写法。默认情况下还需要修改配置文件才能生效
# 生成静态文件(一般是在新建文章并完成写作后使用或者在修改了文章的内容后使用)
hexo generate # 可简写为hexo g
# 启动服务器(用于预览网页效果)
hexo server # 可简写为hexo s
# 部署网站(需要配置远程服务器地址,部署之前需要先生成静态文件)
hexo deploy # 可简写为hexo d
# 清除缓存文件(一般是更换Hexo主题未生效时使用)
hexo clean更详细的介绍请移步官网Hexo
远程环境搭建
创建Git仓库
先安装openssh,之后就可以通过ssh客户端远程连接服务器而不需要在浏览器上操作
1 | # 安装SSH服务端 |
配置Nginx反向代理
安装Nginx及可能遇到的问题
1 | # 安装nginx |
配置Nginx托管文件目录
1 | # 创建/var/www/hexo目录用于存放Hexo生成的静态文件,修改目录所有权 |
SSH远程连接配置
在windows上搭建SSH客户端
使用powershell运行以下命令在用户文件夹的.ssh文件夹下生成密钥
1
ssh-keygen -t rsa
将生成的公钥id_rsa.pub中的内容拷贝到服务器的/home/blog/.ssh/authorized_keys文件上
1
2
3
4sudo mkdir .ssh
cd .ssh
sudo touch authorized_keys
sudo vim .ssh/authorized_keys
Hexo部署到服务器
编辑hexo根目录中的config.yml文件,在deploy处配置参数
1
2
3
4
5deploy:
type: 'git'
# server_ip为服务器的公网ip
repo: blog@server_ip:/var/repo/hexo_static.git
branch: master执行以下命令部署Hexo
1
hexo deploy
查看服务器的/var/www/hexo目录,能够看到上传的静态文件
访问服务器IP地址查看页面,如果访问失败则检查服务器内部是否开放了80端口并去浏览器控制台查看服务器厂商提供的安全组规则或外部防火墙是否开放了80端口。确认都开放之后重新访问
域名解析配置
域名的购买很简单,到这里笔者已经提前购买好了一年期域名,重点就是配置域名解析。如果租赁域名的地方和租赁服务器的地方不是同一个地方,则域名解析需要在租赁域名的地方进行配置
参考配置
主机记录一般就是填www,记录类型为A,记录值为公网IP地址,其它的参数默认即可
之后就可以通过www.域名来访问页面,如果想直接通过一级域名访问,也可以再添加一条主机记录为@,记录类型为A,记录值为公网IP地址的解析
SSL证书申请
这里笔者找了一个能申请90天免费SSL证书的网站https://ourl.co/zerossl 。具体的操作参考SSL证书申请
HTTPS服务开启
Nginx配置SSL证书
1 | # 将下载到windows上的证书文件上传至服务器 |
Nginx配置参考
1 | server { |
至此HTTPS服务配置完成,在访问笔者的页面时可以看到https开头的URL
参考资料
- 标题: 关于个人Hexo博客的搭建历史
- 作者: Entropy Tree
- 创建于 : 2023-01-17 14:06:17
- 更新于 : 2023-04-01 07:55:52
- 链接: https://www.entropy-tree.top/2023/01/17/blog-by-https/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。