serv00搭建halo博客

原帖地址 https://www.tweek.top/archives/1720430656723

up主讲的很详细了,我觉得有两个地方强调一下

a 注册serv00 有问题就换节点,节点干净就没问题

b SSH 输入密码 先取消 在新密码框粘贴输入就好

1,部署应用前的一些准备工作
根据邮箱提供的SSH进行连接,安装进程管理工具Pm2
SSH 连接 serv00 之后,直接使用一键脚本安装 pm2 :

bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)

如果安装完成后执行 pm2 提示命令未找到,重新连接SSH即可。

2,安装halo

首先在 Panel 中放行一个端口,接着按照下表 Add a New Website :添加站点

Key

Value

Domain

xxx.USERNAME.serv00.net(也可以把原有的 USERNAME.serv00.net 删掉后重新添加)

Website Type

proxy

Proxy Target

localhost

Proxy URL

留空

Proxy port

你准备用来部署 Halo 的端口

Use HTPPS

False

DNS support

True

添加完新站点后,

在 MySQL 选项卡中中新建 MySQL 数据库,用于填入接入 Halo 。

接着 SSH 登入,并进入刚刚你新建的域名目录下的 public_html 路径下:

cd domains/你的域名/public_html

# 下载jar包

release_info=$(curl -s https://api.github.com/repos/halo-dev/halo/releases/latest)
jar_url=$(echo "$release_info" | jq -r '.assets[] | select(.name | endswith(".jar")) | .browser_download_url')
curl -L "$jar_url" -o halo.jar

在 halo.jar 所在路径下新建 .halo2 文件夹,进入其中,新建文件 application.yaml 然后并配置其内容:

bash

# 新建文件夹

mkdir -p .halo2

# 新建并填入配置

cat > .halo2/application.yaml << EOF
server:
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
EOF

YAML

在 halo.jar 所在路径下新建 run.sh 运行脚本:

Bash

cat > run.sh << EOF
#!/bin/bash
export HALO_WORK_DIR="$PWD/.halo2"
export HALO_EXTERNAL_URL="https://你的域名"
exec java17 -server -Xms128m -Xmx256m -jar -Duser.timezone=Asia/Shanghai $PWD/halo.jar --spring.config.additional-location=$PWD/.halo2/application.yaml
EOF

测试运行:

chmod +x run.sh && ./run.sh

确定运行没有问题后,按 Ctrl+c即可停止运行。

3,使用pm2管理运行:

chmod +x run.sh && pm2 start ./run.sh --name halo

4,自动运行 保护进程

听说 Serv00 的主机会不定时重启,所以需要添加自启任务。

在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 After reboot,即为重启后运行。Form type 选择 Advanced,Command 写:

/home/你的用户名/.npm-global/bin/pm2 resurrect

记得把你的用户名改为你的用户名

添加完之后,在 SSH 窗口保存 pm2 的当前任务列表快照:

pm2 save

这样每次 serv00 不定时重启任务时,都能自动调用 pm2 读取保存的任务列表快照,恢复任务列表。如果在保存了任务列表快照后又改变了任务 pm2 的任务列表,需要重新执行 pm2 save 以更新任务列表。

5,最后安装应用市场:https://www.halo.run/store/apps/app-VYJbF

中间代码 乱了, 大家看原帖 就好

不错,serv00这样可玩性还是很多,halo这个透明效果的还挺好看

又有的折腾了,感谢分享

@“金子会发光”#p50505 转帖的up主 有好几个serv00 项目

我的serv00还没登录呢,不知道还有吗

8月折腾一波

serv00 稳定吗?

@“wenliu”#p51834 up主说很稳定。我的每次都是 502 要重启,不知道怎么保活


刚好前段时间申请了一个

@“kf”#p52041 不要装pm2,配置好halo测试运行没问题就关闭然后用screen命令后台运行加上定时任务就不会502了。另外我用ct8服务器搭的halo内存占用只有400出头是serv00的一半。