1、部署应用前的一些准备工作
根据邮箱提供的SSH进行连接,然后安装进程管理工具Pm2
可以下载如xshell之类的工具连接或者使用webssh也行
SSH 连接 serv00 之后,直接使用一键脚本安装 pm2 :
bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)
安装完成后可以使用which pm2来查看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 | 刚才放行的端口 |
Use HTPPS | False |
DNS support | False(如果是cf域名)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
然后并配置其内容:
# 新建文件夹
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
在 halo.jar
所在路径下新建 run.sh
运行脚本:
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
- pm2其实也能用,serv00也不会因此而封你的号,而且进程的存活时间其实还挺长
我感觉如果是比较靠前的老号估计进程都不会掉,如果掉了去github上写个actions
用来定时运行脚本就行,使用自用运行没啥用,官方自带的自启任务容易失效
最后安装应用市场:https://www.halo.run/store/apps/app-VYJbF
Comments NOTHING