跳到主要内容

使用离线包部署

先阅读《写在前面》

在继续操作之前,我们推荐您先阅读《写在前面》,这可以快速帮助你了解 Halo。

Halo 离线安装包使用 Docker + Docker Compose 的方式部署 Halo 及其他服务,安装包中内置了 Docker 程序和容器镜像文件,可以帮助用户在无法访问互联网的服务器上,完成 Halo 的安装部署。

下载安装包​

请自行前往飞致云开源社区下载 Halo 最新版本的安装包,并复制到目标机器的 /tmp 目录下。

安装部署​

解压安装包​

以 root 用户 ssh 登录到目标机器,并执行如下命令:

cd /tmp
# 解压安装包(halo-offline-installer-v2.17.0-amd64.tar.gz 为示例安装包名称,操作时可根据实际安装包名称替换)
tar zxvf halo-offline-installer-v2.17.0-amd64.tar.gz
离线安装包目录结构

安装包目录说明

├── docker # 离线安装 Docker 使用到的文件
│   ├── bin
│   │   ├── containerd
│   │   ├── containerd-shim-runc-v2
│   │   ├── ctr
│   │   ├── docker
│   │   ├── docker-compose
│   │   ├── dockerd
│   │   ├── docker-init
│   │   ├── docker-proxy
│   │   └── runc
│   └── service
│   └── docker.service
├── docker-compose.yaml # 包含 Halo 及数据库服务的 Docker Compose 文件
├── .env # Docker Compose 文件使用的变量声明文件,部分参数从该文件中读取
├── images # Halo 及数据库的容器镜像文件
│   ├── halo.tar.gz
│   ├── mysql.tar.gz
│   └── postgres.tar.gz
├── install.sh # 安装脚本
├── LICENSE
└── README.md

执行安装脚本​

# 进入安装包目录(halo-offline-installer-v2.17.0-amd64 为示例安装包目录名称,操作时可根据实际安装包名称替换)
cd halo-offline-installer-v2.17.0-amd64

# 运行安装脚本
/bin/bash install.sh

根据脚本给出的提示,输入安装目录、服务端口、数据库信息等相关配置信息,等待脚本执行完成。

默认安装目录结构

假设采用默认安装位置 /opt/halo 完成安装,安装目录的文件结构如下:

├── data # 数据存储目录
│   ├── db # 数据库数据存储目录,挂载至数据库容器
│   └── halo # Halo 数据存储目录,挂载至 Halo 容器
│   ├── indices
│   ├── keys
│   ├── logs
│   ├── plugins
│   └── themes
├── docker-compose.yaml # Docker Compose 文件
├── .env # Docker Compose 文件使用的变量声明文件,部分参数从该文件中读取
├── install.log # 安装脚本日志文件
├── LICENSE
└── README.md

安装完成后,可以直接进入 /opt/halo 目录,使用 docker-compose 命令完成后续维护操作,也可以修改 docker-compose.yaml 中的相关配置满足不同需求。

运行参数详解:

  • spring.r2dbc.url: 数据库连接地址,详细可查阅下方的 数据库配置
  • spring.r2dbc.username: 数据库用户名
  • spring.r2dbc.password: 数据库密码
  • spring.sql.init.platform: 数据库平台名称,支持 postgresql、mysql、mariadb、h2
  • halo.external-url: 外部访问链接,如果需要在公网访问,需要配置为实际访问地址

数据库配置:

表 1 数据库配置
链接方式链接地址格式spring.sql.init.platform
PostgreSQL(推荐)r2dbc:pool:postgresql://{HOST}:{PORT}/{DATABASE}postgresql
MySQLr2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}mysql
MariaDBr2dbc:pool:mariadb://{HOST}:{PORT}/{DATABASE}mariadb
H2 Databaser2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSEh2

登录访问​

用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。