在Serv00上搭建halo博客

1.开放一个端口并开启应用权限

image.png

2.将域名托管到serv00

添加域名到serv00,可以使用cloudflare托管
image.png

3.进入文件管理后台删除public_html中的文件

image.png

4.创建mysql数据库

记住你创建的数据库,等会需要用
image.png

5.安装halo

进入你的域名目录并创建halo文件

1
cd /usr/home/你的serv名字/domains/域名/public_html && mkdir halo

进入halo目录并下载halo

1
cd halo && wget https://dl.halo.run/release/halo-2.17.0.jar -O halo.jar

5.创建.halo文件并创建application.yaml文本

进入文件管理器后台,在Jar包同级目录创建.halo文件,并在其中创建application.yaml文本,将下面代码放入其中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server:
port: PORT
# Response data gzip.
compression:
enabled: false
spring:
#sql:
# init.platform: mysql
r2dbc:
url: r2dbc:pool:mysql://数据库地址:3306/数据库名
username: 数据库用户名
password: 数据库密码
halo:
# Your admin client path is https://your-domain/{admin-path}
admin-path: admin
# memory or level
cache: level

image.png

image.png

PORT替换为你放行的端口
数据库地址:3306/数据库名数据库用户名数据库密码替换为你创建的

6. 在Jar包同级目录新建文件run.sh文本

1
2
3
4
#!/bin/bash
export HALO_WORK_DIR="/usr/home/serv00账号名/domains/域名/public_html/halo/.halo"
export HALO_EXTERNAL_URL="https://xxxxx.com"
java17 -server -Xms128m -Xmx256m -jar -Duser.timezone=Asia/Shanghai /usr/home/serv00账号名/domains/域名/public_html/halo/halo.jar --spring.config.additional-location=/usr/home/serv00账号名/domains/域名/public_html/halo/.halo/application.yaml

image.png
serv00账号名域名https://xxxxx.com替换为自己的

7.创建restart.sh文本

在jar包同级目录创建restart.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash

# 设置脚本路径
SCRIPT_PATH="/usr/home/serv00账号名/domains/域名/public_html/run.sh"
WORK_DIR="/usr/home/serv00账号名/domains/域名/public_html"
![image|690x340](upload://nAVB314l5Ad8qhlxoZLdXky6iSA.png)

# 检查脚本是否在运行
if ! pgrep -f "$SCRIPT_PATH" > /dev/null
then
# 如果脚本没有运行,则重新启动它
cd "$WORK_DIR"
nohup ./run.sh > /dev/null 2>&1 &
echo "Restarted run.sh at $(date)" >> "$WORK_DIR/restart_log.txt"
fi

image.png

8. 赋权你创建的文本

赋权run.sh

1
chmod +x /usr/home/serv00用户名/domains/域名/public_html/halo/run.sh

赋权restart.sh

1
chmod +x /usr/home/serv00用户名/domains/域名/public_html/halo/restart.sh

9.在CF上保活

1
/usr/home/Serv00账号名/domains/域名/public_html/halo/restart.sh

将绝对路径放入CF即可稳定运行

Cloudflare Worker自动检测并添加servoo/CT8的Cron

image.png

image.png

📎 参考文章

https://github.com/V-Official-233/halo-PaaS

https://docs.halo.run/getting-started/install/jar-file/