跳到主要内容
版本:Next

版本升级

当前最新版本为:1.6.0。在更新之前建议先查阅变更日志:https://github.com/halo-dev/halo/releases/tag/v1.6.0

Linux

信息

我们假设你存放运行包的路径为 ~/app,运行包的文件名为 halo.jar,且使用了 systemd 进行进程管理,如有不同,下列命令请按需修改。

  1. 停止正在运行的服务
service halo stop
  1. 备份数据以及旧的运行包(重要
cp -r ~/.halo ~/.halo.archive
mv ~/app/halo.jar ~/app/halo.jar.archive

需要注意的是,.halo.archivehalo.jar.archive 文件名不一定要根据此文档命名,这里仅仅是个示例。

  1. 清空 leveldb 缓存(如果有使用 leveldb 作为缓存策略)
rm -rf ~/.halo/.leveldb
  1. 下载最新版本的运行包
cd ~/app && wget https://dl.halo.run/release/halo-1.6.0.jar -O halo.jar
信息

如果下载速度不理想,可以在这里选择其他下载地址。

  1. 启动测试
java -jar halo.jar
信息

如测试启动正常,请继续下一步。使用 CTRL+C 停止运行测试进程。

  1. 重启服务
service halo start

Docker

信息

我们假设您的容器是按照 使用 Docker 部署 Halo 中的命令构建的。如有不同,请根据实际情况修改。

  1. 停止并删除当前运行中的容器
docker stop halo
docker rm -f halo
信息

你的容器名称不一定为 halo,在执行前可以先执行 docker ps -a 查看一下。

  1. 备份数据(重要)
cp -r ~/.halo ~/.halo.archive

需要注意的是,.halo.archive 文件名不一定要根据此文档命名,这里仅仅是个示例。

  1. 清空 leveldb 缓存(如果有使用 leveldb 作为缓存策略)
rm -rf ~/.halo/.leveldb
  1. 拉取最新的 Halo 镜像
docker pull halohub/halo:1.6.0
信息

查看最新版本镜像:https://hub.docker.com/r/halohub/halo ,我们推荐使用具体版本号的镜像,但也提供了 latest 标签的镜像,它始终是最新的。

  1. 创建容器
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.6.0
  • -it: 开启输入功能并连接伪终端
  • -d: 后台运行容器
  • --name: 为容器指定一个名称
  • -p: 端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
  • -v: 工作目录映射。形式为:-v 宿主机路径:/root/.halo,后者不能修改。
  • --restart: 建议设置为 unless-stopped,在 Docker 启动的时候自动启动 Halo 容器。