离线环境部署
信息
在继续操作之前,我们推荐您先阅读《写在前面》,这可以快速帮助你了解 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
信息
安装包目录说明
[root@localhost halo-offline-installer-v2.17.0-amd64]# tree
.
├── 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 完成安装,安装目录的文件结构如下:
[root@meter-prototype halo]# tree
.
├── 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 | 外部访问链接,如果需要在公网访问,需要配置为实际访问地址 |
数据库配置:
链接方式 | 链接地址格式 | 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 |
登录访问
用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。