将Hexo部署至服务器
本教程不传授Hexo博客如何搭建,如有需要请前往Google、百度、Bing等搜索引擎
前言
Hexo是一个静态博客框架,优点在于它可以部署在任何静态网站托管平台,包括但不限于GitHub、CODING、Vercel 、七牛云、又拍云等平台进行托管,当然本篇教程基于对拥有云服务器的小伙伴,我们将会把我们的Hexo博客通过Git管理工具推送至云服务器
在将通过本教程进行配置的小伙伴你必须拥有域名x1,云服务器x1,Git包管理器,已配置好的Hexo博客,1Panel面板
安装Git并生成SSH密钥 (自己电脑)
- 前往Git官网下载Git并安装
- 配置Git用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"
- 生成SSH密钥,输入以下命令后一直回车
ssh-keygen -t rsa -C "刚才git配置的邮箱"
- 记住SSH密钥备用路径为C:/Users/$USER/.ssh/id_rsa
安装Git(云服务器)
- 安装Git包管理器
sudo yum install git -y #Rocky CentOS系
sudo apt install git -y #Ubuntu Debian系
sudo zypper install git -y #openSUSE
sudo pacman -S git #ArchLinux系
创建用户并创建Git Hooks
由于sudo的权限过大,我们操作博客不需要这么大的权限且顺便提升一下服务器的安全性
- 创建用户blog并将blog添加至wheel权限组中(用户名不限制,可根据自己的喜好修改)
sudo usermod -a -G wheel blog
- 修改用户blog密码
passwd blog
- 进入git用户
su git
- 创建ssh密钥存放处
mkdir ~/.ssh
- 将主机ssh密钥导入authorized_keys
vim ~/.ssh/authorized_keys
- 赋予执行权限
sudo chmod 600 /home/blog/.ssh/authorized_keys
sudo chmod 700 /home/blog/.ssh
- 测试链接
ssh blog@云服务器ip地址
- 创建Git仓库地址
mkdir repo
- 赋予仓库权限
sudo chown -R blog:blog /home/blog/repo
sudo chmod -R 755 /home/blog/repo
- 创建Git仓库
git init --bare hexo.git
安装1Panel面板
- Linux/Unix安装脚本
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh
- RockyLinux系统请查看我另外一篇文章
- 安装后可查看1Panel的具体信息
创建静态站点
- 安装OpenResty
- 创建静态站点
- 自行配置HTTPS
- 复制站点路径并删除原本的index.html
创建GitHook钩子
- 回到blog用户
su blog
- 编辑钩子文件
vim /home/blog/repo/hexo.git/hooks/post-receive
#!/bin/bash
git --work-tree=/opt/1panel/apps/openresty/openresty/www/sites/sort.uninull.cn/index --git-dir=/home/blog/repo/hexo.git checkout -f
- 配置文件权限
chmod +x /home/blog/repo/hexo.git/hooks/post-receive
修改主机config配置
- 添加至hexo主文件config
deploy:
- type: 'git'
repo:
# 用户名@云服务器ip:仓库文件
server: blog@110.42.109.234:/home/blog/repo/hexo.git
branch: master
- 将站点index文件夹权限修改成777
推送Hexo
- hexo clean、hexo g、hexo d
将Hexo部署至服务器
https://sort.uninull.cn/posts/41a43fbf/