将Hexo部署至服务器

本教程不传授Hexo博客如何搭建,如有需要请前往Google百度Bing等搜索引擎

前言

Hexo是一个静态博客框架,优点在于它可以部署在任何静态网站托管平台,包括但不限于GitHubCODINGVercel七牛云又拍云等平台进行托管,当然本篇教程基于对拥有云服务器的小伙伴,我们将会把我们的Hexo博客通过Git管理工具推送至云服务器

在将通过本教程进行配置的小伙伴你必须拥有域名x1云服务器x1Git包管理器已配置好的Hexo博客1Panel面板

安装Git并生成SSH密钥 (自己电脑)

  • 前往Git官网下载Git并安装
  • 配置Git用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"

image-20240514012416533

  • 生成SSH密钥,输入以下命令后一直回车
ssh-keygen -t rsa -C "刚才git配置的邮箱"

image-20240514012614124

  • 记住SSH密钥备用路径为C:/Users/$USER/.ssh/id_rsa

image-20240514012854533

安装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系

image-20240514013029020

创建用户并创建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

image-20240514022956615

安装1Panel面板

  • Linux/Unix安装脚本
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

image-20240514030222034

创建静态站点

  • 安装OpenResty

image-20240514030735799

  • 创建静态站点

image-20240514030955472

  • 自行配置HTTPS
  • 复制站点路径并删除原本的index.html

image-20240514031354889

创建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

image-20240514032109486

  • 将站点index文件夹权限修改成777

image-20240514033315600

image-20240514033335318

推送Hexo

  • hexo clean、hexo g、hexo d

image-20240514033449344


将Hexo部署至服务器
https://sort.uninull.cn/posts/41a43fbf/
作者
CieanYau
发布于
2024年5月14日
更新于
2024年5月14日
许可协议