简介
Serv00 是一个提供免费虚拟主机的平台,支持的服务众多,可选择 php 版本,有多款数据库,MySQL,postgresql,mongdodb,支持 ssh 连接,没有广告,3G 空间。
Halo 是一款开源的建站工具,专注于博客,同时也适合构建个人网站。它以其简洁、易用和强大的自定义能力而著称。
部署
准备
登录 serv00 控制台,开启可执行权限和开放一个端口
新建一个 MySQL 数据库,记录数据库信息
数据库字符集选择 Collation: utf8mb4_bin
halo 环境
- Java 环境,目前 Halo 最低需要 JRE 17 的环境。
- 数据库(任一)
serv00 官方已经支持 jdk17
ssh 连接 serv00
|
|
写入到环境变量
|
|
安装 halo
创建存放运行包的目录,这里以 ~/app
为例
|
|
下载运行包
|
|
创建 工作目录
|
|
创建 Halo 配置文件
|
|
将以下内容复制到 application.yaml
中,根据下面的配置说明进行配置。
|
|
数据库配置说明:
参数名 | 描述 |
---|---|
spring.r2dbc.url |
数据库连接地址,详细可查阅下方的 配置对应关系 |
spring.r2dbc.username |
数据库用户名 |
spring.r2dbc.password |
数据库密码 |
spring.sql.init.platform |
数据库平台名称,支持 postgresql 、mysql 、mariadb 、h2 |
配置对应关系:
链接方式 | 链接地址格式 | spring.sql.init.platform |
---|---|---|
PostgreSQL | r2dbc:pool:postgresql://{HOST}:{PORT}/{DATABASE} |
postgresql |
MySQL | r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE} |
mysql |
MariaDB | r2dbc:pool:mariadb://{HOST}:{PORT}/{DATABASE} |
mariadb |
H2 Database | r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE |
h2 |
测试运行 Halo
|
|
初始化 halo
设置站点名,用户名,密码,邮箱
后台运行
由于 serv00 不能使用 system,防止 serv00 杀掉进程,我们使用定时任务,定时重启
登录 serv00 控制台,新增定时任务
Label | Value | Extra |
---|---|---|
Specify time | Specify manually | |
Form type | Advanced | |
Minute | Every | 10 |
Hour | Each time | * |
Day of month | Each time | * |
Month | Each time | * |
Day of week | Each time | * |
Command 命令填写如下的内容
|
|
访问
使用 serv00 分配的域名加上端口即可访问
|
|
如果不想使用端口,并使用 https
推荐这个教程:使用 Vercel 部署反向代理的部署指南
在线预览
PS:这是一个玩具,用不了多久就会被杀进程,只适合学习