vps折腾日记

折腾进行时ing

博主纯小白, 所以大部分时候都在和ai对话执行操作
纯记录向

同步更新博客

饺子醋这一块
因为买了vps自然就要买域名,所以听友人的去spaceship淘了一个数字域名和icu, 一个用来内部七七八八的服务, 一个用来对外的博客和以后瞎折腾的小东西

总之想和别人一样把博客绑定到自己的域名上,虽然github提供了直接自定义域名的方法, 反正不酷.jpg, 最后搜了下有个利用github的webhook的方式, 效果就是本地hexo d后github检测到push和vps说一声, 然后那边自动拉取最新的博客

总之先是安装下webhook
后面的脚本基本是和ai问的了

1
2
sudo apt update
sudo apt install -y webhook

因为用的是面板一键操作的, 建站证书都一键了, 没学到啥 接着去网站根目录下git init一下, 顺便设置remote origin为自己的博客仓库
在写两个脚本, 分别对应监听github的hook和执行脚本

执行脚本deploy-blog.sh

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
#!/bin/bash

# ===== 博客自动部署脚本 =====
# 作用:当 GitHub 推送代码后,自动更新服务器上的博客文件

# 定义变量(请根据你的实际情况修改)
BLOG_DIR="博客存放目录" # 你的博客静态文件存放目录(重要!)
LOG_FILE="log存放目录"

# 开始部署
echo "$(date): 博客部署开始" >> $LOG_FILE

# 进入博客目录
cd $BLOG_DIR || {
echo "$(date): 错误:无法进入目录 $BLOG_DIR" >> $LOG_FILE
exit 1
}

# 拉取最新代码(假设你的博客是通过 Git 管理的)
git pull origin main>> $LOG_FILE 2>&1

# 如果你的博客需要生成(比如 Hexo 在服务器端生成),取消下面两行的注释
# npm install >> $LOG_FILE 2>&1
# npx hexo generate >> $LOG_FILE 2>&1

echo "$(date): 博客部署完成" >> $LOG_FILE

监听配置文件webhook.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[
{
"id": "deploy-blog",
"execute-command": "/opt/webhook-scripts/deploy-blog.sh",
"command-working-directory": "/opt/webhook-scripts",
"response-message": "博客部署任务已触发",
"trigger-rule": {
"match": {
"type": "payload-hmac-sha256",
"secret": "一个密码,在github webhook要用到",
"parameter": {
"source": "header",
"name": "X-Hub-Signature-256"
}
}
}
}
]

接着创建一个service作为系统服务一直运行

1
sudo nano /etc/systemd/system/webhook.service

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Webhook 监听服务
After=network.target

[Service]
ExecStart=/usr/bin/webhook -hooks /etc/webhook/hooks.json -port xxxx -verbose
Restart=always
User=root

[Install]
WantedBy=multi-user.target

然后启动服务四件套

1
2
3
4
sudo systemctl daemon-reload
sudo systemctl enable webhook
sudo systemctl start webhook
sudo systemctl status webhook

然后反代下webhook的服务, 接着去github对应的仓库的setting里找webhook
Payload填自己的webhook地址 xxxxx/hooks/xxxx.sh(对应仓库的执行sh) 密码填之前json里对应的密码
type博主用的是x-www, 反正ai是这么说的

这样一般就好了, 首次设置好github的部分会自动ping一下, 左边打勾了就行, 如果没有就看下github的日志是不是url写错了
或者去vps上看看log sudo tail -f 前面写的log地址, 一般都是没有设置好git或者是没有设置remote origin

博主踩坑的点就是没有设置好git和remote origin, 一般这样就好了 反正是问的ai脚本还在学习

之后同步更新其他仓库就是复制下执行脚本, 然后json里也复制一遍改下id和密码就好了
不过应该不局限于更新博客, 以后再折腾别的


vps折腾日记
http://frenchpicnic.github.io/posts/91fabc8c/
作者
FrenchPicnic
发布于
2026年3月4日
许可协议