1、镜像

halohub/halo:2

halo2系列已支持halohub/halo:2直接拉取最新版本,因此更新容器可以使用相同镜像重新编辑的方式进行升级。

安装前准备:

2.安装

2.1、拉取镜像

2.2、基础设置

  • 重启策略:容器退出时总是重启容器。

2.3、网络

  • 选择桥接即可。

2.4、链接

  • 使用MySQL数据库,在链接中添加链接

  • 容器名称:选择已安装的MySQL

  • 别名:为了便于使用直接定义为mysql

2.5、命令

  • 在命令中粘贴下方列举命令

--spring.r2dbc.url=r2dbc:pool:mysql://{数据库所在宿主机的ip,不能是127.0.0.1、0.0.0.0、localhost}:{数据库“3306”对应的端口}/{halo数据库}
--spring.r2dbc.username={halo数据库用户}
--spring.r2dbc.password={halo数据库密码}
--spring.sql.init.platform=mysql
--server.reactive.session.timeout={后台登录有效时间}
--halo.cache.page.disabled={关闭页面缓存}
--halo.external-url={预期访问的真实URL}
  • 命令中"{}"的部分需要修改为实际的值;

  • {halo数据库}:需要使用第三方工具或命令行创建与之对应的数据,表无需创建;

注意:必须先创建数据库,否则容器部署后无法启动,会一直重启!

注意:必须先创建数据库,否则容器部署后无法启动,会一直重启!

注意:必须先创建数据库,否则容器部署后无法启动,会一直重启!

若使用phpmyadmin管理,可参考绿联 安装phpmyadmin管理MySQL数据库的3.2章节

  • {数据库所在宿主机的ip}2.4、链接中已经引入MySQL数据库,因此此处可以固定填写mysql

  • {halo数据库用户}:可以对应数据库访问权限的其他账户或者root

  • {halo数据库密码}:对应账户的密码;

  • {后台登录有效时间}:单位:h、d,如:12h表示12小时,1d表示1天,该命令可不填写;

  • {关闭页面缓存}:false:开启,true:关闭,该命令可不填写;

  • {预期访问的真实URL}:可以是内网带端口号的地址也可以是反向代理带端口号的地址。

  • 示例代码如下,仅为示例,请按照实际情况修改:

--spring.r2dbc.url=r2dbc:pool:mysql://mysql:3306/db_halo
--spring.r2dbc.username=db_halo
--spring.r2dbc.password=db_halo
--spring.sql.init.platform=mysql
--server.reactive.session.timeout=12h
--halo.cache.page.disabled=false
--halo.external-url=https://demo.demo.com:8080/

2.6、存储空间

  • “/root/.halo2”:存放所有的数据文件,必须做映射,读写权限。

2.7、端口设置

  • 容器端口“8090”固定,本地端口自动或者输入一个未被使用的端口;

本例中在“2.4、命令”中设置的{预期访问的真实URL}所使用的端口为11310,因此此处设置的端口为“11310”,仅供参考。

2.8、环境

  • 变量SPRING_THYMELEAF_CACHE值为false

  • 注意:此变量用于开发者,非开发者无需添加此变量!

  • 注意:此变量用于开发者,非开发者无需添加此变量!

  • 注意:此变量用于开发者,非开发者无需添加此变量!

3、网站

3.1、初始化

  • 地址:http://{ip}:{port};

  • 输入相关信息完成初始化后进入登录页面。

3.2、关于开放注册

  • 个人博客建议关闭“开放注册”功能,避免恶意注册。

3.3、关于评论设置

  • 评论插件已为评论提供审核能力,因此可以开启。

3.4、关于点击Logo跳转错误的问题

  • “2.4、命令”中设置的{预期访问的真实URL}设置存在问题导致,重建容器,并在命令处输入准确的访问地址。