1 安装宝塔

image-20250115144054019

2 创建网站

2.1 新建网站

image-20250115144206979

2.2 网站目录

image-20250115144302686

3 Git 环境配置

3.1 安装git

1
yum install git

3.2 创建git用户

3.2.1 创建git用户

1
adduser git

image-20250115144625126

3.2.2 修改git用户的权限

1
chmod 740 /etc/sudoers

image-20250115144752741

3.2.3 进入 sudo 命令文件

1
vim /etc/sudoers

找到root ALL=(ALL) ALL,在下面添加git ALL=(ALL) ALL

image-20250115144945920

3.2.4 修改文件夹权限

1
chmod 400 /etc/sudoers

image-20250115145024821

3.2.5 设置 git 用户的密码

1
sudo passwd git

image-20250115145126697

3.3 配置 SSH 免密登录

3.3.1 服务端

1
2
3
4
5
6
# 切换到 git 用户
su git

# 在根目录创建.ssh文件夹,存放公钥
cd ~
mkdir .ssh

image-20250115145328517

3.3.2本地端

文件管理器中输入%homepath%,会跳转到用户目录下

image-20250115145714325

在当前目录打开cmd命令

1
2
3
4
# 在本地生成公钥/私钥对
cd .ssh
ssh-keygen
# 保持默认即可

image-20250115145926887

3.3.3 上传公钥

将本地的公钥(id_rsa.pub)上传到服务器的/home/git/.ssh目录下

image-20250115150252535

3.3.4 服务端配置

新建authorized_keys文件,并拷贝公钥的内容到该文件中,依次执行以下指令:

1
2
3
4
5
6
7
8
9
10
cd ~/.ssh
cp id_rsa.pub authorized_keys
cat id_rsa.pub >> ~/.ssh/authorized_keys

# 设置权限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

# 确保 SSH 相关的文件和目录具有正确的 SELinux 安全标签
restorecon -Rv ~/.ssh

image-20250115150513705

3.3.5 测试免密登录

进入本地计算机的 Git Bash,输入:

1
ssh -v git@xxx.xxx.xxx.xxx(公网IP)

image-20250115150731595

3.4 配置 Git 仓库

在服务器新建一个 Git 仓库,同时新建一个钩子文件

1
2
3
4
5
6
cd ~
git init --bare hexo.git
vi ~/hexo.git/hooks/post-receive

# 输入
git --work-tree=/www/wwwroot/hexo --git-dir=/home/git/hexo.git checkout -f

image-20250115151326508

授予钩子文件可执行权限

1
chmod +x ~/hexo.git/hooks/post-receive

image-20250115151435204

4 本地端配置

4.1 修改_config.yml

在本地计算机打开 Hexo 项目,我用的 vscode,修改_config.yml文件中的deploy

1
2
3
4
deploy:
type: git
repo: git@公网ip:/home/git/hexo.git
branch: master

image-20250115151807638

4.2 安装插件

1
2
3
4
5
# 用于将 Hexo 生成的静态文件推送到指定的 Git 仓库
npm install hexo-deployer-git --save

# 用于在本地启动一个 Hexo 服务器,方便在本地预览博客
npm install hexo-server

img

4.3 配置 Git 全局变量

本地终端执行一下命令

1
2
3
# email 和 name 随便填一个也可以
git config --global user.email "xxxxxxxxxx@xx.com"
git config --global user.name "xxx"

image-20250115152155570

4.4 生成静态文件和发布博客

在 vscode 的终端中输入:

1
2
3
4
5
6
7
8
# 清除之前生成的静态文件
hexo clean

# 生成静态文件
hexo generate

# 部署到 Git 仓库
hexo deploy

image-20250115152803010

5 访问网站

image-20250115152847752