博客升级Halo的数据库和JDK

博客升级Halo的数据库和JDK

为了更新Halo到最新版,把周边都更新了一下

本博客原来跑的是JDK 17,数据库是Postgresql-10,都比较老了,Halo的最新版本要求Java是21,而数据库因为Django 6.0的最低要求是14,所以也想着升级一下。由于VPS的操作系统是CentOS 7.8,已经很老了,还好能支持到Postgresql 15,所以也一并升级一下。

升级JDK

步骤如下:

  1. 这里 下载openjdk,然后解压到/root/openjdk/jdk-21

  2. 配置环境变量,这个简单:

export JAVA_HOME=/root/openjdk/jdk-21
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  1. 测试一下java的版本即可

  2. 修改/etc/systemd/system/halo.service 里的java程序位置为新的java21的位置

  3. 重新启动halo服务

systemctl daemon-reload
systemctl restart halo.service

升级postgresql

  1. 在Halo中备份数据

  2. 下载postgresql并安装,安装可以参照官网的安装方法

  3. 停止原来的10版服务,初始化15版,设置postgres的密码和远程连接(与application.yaml中的内容一致),然后启动15版的服务

  4. 远程连接15版服务后创建blog数据库(与application.yaml中的内容一致)

  5. 这一点很关键,删除或者修改原来的/root/.halo2(也就是application.yaml中的运行目录),然后创建一个新的.halo2目录,将application.yaml复制进去

  6. 重新启动halo.service服务,然后访问 /console路径进入默认配置,随便设置初始用户名和密码,进去之后立刻恢复备份

  7. 恢复完注意,application.yaml也会恢复到备份时数据,所以application.yaml 恢复前后少改动,否则需要手工再调整其中的设置。管理员用户名和密码也会恢复到备份时的状态,所以新设置的管理员用户和密码是没用的。

全部设置完之后在概览里就能看到最新的版本信息了:

Java
OpenJDK Runtime Environment / 21+35-2513
数据库
PostgreSQL / 15.15

就能畅享最新版本,各种插件也都跟上时代了。

LICENSED UNDER CC BY-NC-SA 4.0
Comment