文章摘要
GPT 4
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结
投诉

使用云服务器部署hexo博客

我最开始的方案是用hexo的hexo server来跑我的博客,蛮方便的,只需要反向代理一下默认的4000端口即可。

最近感觉速度不是很客观,而且如果想要一直跑这个hexo s本地预览的话,无论是使用screen来跑还是使用docker来跑都很麻烦,所以还是采用了hexo d改为静态网站部署

下面是安装步骤记录:

1. 安装 hexo-deployer-git 插件

Hexo 默认不包含 Git 部署功能,需要手动安装插件:

1
npm install hexo-deployer-git --save

安装后,Hexo 就能识别 git 部署方式。

2. 创建存放网站的目录

由于我使用的是1panel的OpenResty代理网站,所以创建静态网站之后自动创建了一个网络地址,对于我来讲就是

/opt/1panel/apps/openresty/openresty/www/sites/daoxuan.cc/index

3. 创建Git裸仓库

1
2
3
sudo mkdir -p /var/repo/hexo.git
cd /var/repo/hexo.git
sudo git init --bare

4. 创建Git钩子

在服务器上创建post-receive钩子来自动部署:

1
2
# 编辑post-receive文件
sudo vim /var/repo/hexo.git/hooks/post-receive

添加以下内容:

1
2
#!/bin/bash
git --work-tree=/opt/1panel/apps/openresty/openresty/www/sites/daoxuan.cc/index --git-dir=/var/repo/hexo.git checkout -f

—work-tree后面的地址就是你打算部署网站的地址,OpenResty会去这里找网站的index.html

然后设置权限:

1
sudo chmod +x /var/repo/hexo.git/hooks/post-receive

5. 本地Hexo配置

在Hexo博客目录中,修改_config.yml文件:

1
2
3
4
deploy:
type: git
repo: username@your-server-ip:/var/repo/hexo.git
branch: master

分支master还是main无所谓

6. 将公钥上传到云服务器

生成公钥私钥这里就省略了

使用命令:

1
ssh-copy-id -i ~/.ssh/id_rsa.pub username@your-server-ip

将本地公钥添加到服务器的~/.ssh/authorized_keys

7. 部署

在你使用hexo三件套(hexo clean、hexo g、hexo d)之后就可以查看你的博客了