This post was updated 833 days ago and some of the ideas may be out of date.
halo搭建
软件环境
Halo 理论上可以运行在任何支持 Java 的平台。
JRE(Java Runtime Environment)
必须在运行环境安装好 JRE,这是运行 Halo 所要求的的最低软件环境要求。如果您使用 Docker 运行 Halo,可忽略此要求。
从 1.4.3 起,版本要求为 11 以上的版本。1.4.3 以下需要 1.8 以上的版本。
MySQL(可选)
这并不是 Halo 必须依赖的,Halo 默认使用自带的 H2 Database,无需单独安装。如果 H2 Database 不能满足你的要求,您需要在系统内安装并运行好 MySQL。
具体要求:
- 版本:5.7 +
- 字符集(Character Set):utf8mb4
- 排序规则(Collate):utf8mb4_bin
- 存储引擎:InnoDB
Supervisor管理器
一个Python开发的通用的进程管理程序,用来管理halo运行进程,实现常驻后台。
安装教程
安装JRE 11
CentOS
sudo yum install java-11-openjdk -y
检查版本
java -version
如果输出以下类似内容即代表成功
openjdk version "11.0.10" 2021-01-19 LTS OpenJDK Runtime Environment 18.9 (build 11.0.10+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9-LTS, mixed mode, sharing)
Ubuntu
sudo apt-get install openjdk-11-jre -y
检查版本:
java -version
如果输出以下类似内容即代表成功
openjdk version "11.0.10" 2021-01-19 OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode)
创建新的系统用户
不推荐直接使用系统 root 用户来运行 Halo。如果您需要直接使用 root 用户,请跳过这一步。
教程使用root账户来示例。
创建一个名为 halo 的用户(名字可以随意)
useradd -m halo
给予 sudo 权限
usermod -aG wheel halo
为 halo 用户创建密码
passwd halo
登录到 halo 账户
su - halo
安装halo
来到宝塔创建网站,设置目录以方便放程序文件
cd进入网站目录
cd /www/wwwroot/ecy
下载运行包
wget https://dl.halo.run/release/halo-1.5.3.jar -O halo.jar
创建halo工作目录
Halo 所依赖的工作目录,在 Halo 运行的时候会在系统当前用户目录下产生一个 .halo 的文件夹,绝对路径为 ~/.halo。由于这个工作目录是固定的,所以上面所说的 运行包不限制所存放的位置
mkdir ~/.halo && cd ~/.halo
下载示例配置文件到工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
测试运行 Halo
进入网站目录执行运行命令
cd /www/wwwroot/ecy && java -jar halo.jar
如看到类似以下日志输出,则代表启动成功。
run.halo.app.listener.StartedListener : Halo started at http://127.0.0.1:8090 run.halo.app.listener.StartedListener : Halo admin started at http://127.0.0.1:8090/admin run.halo.app.listener.StartedListener : Halo has started successfully!
PS:配置数据库或者端口等,如需配置请参考 配置参考
别忘记在宝塔的防火墙或者服务器防火墙放行halo端口
使用 Supervisor 托管 Halo 进程
打开 Supervisor 管理器的设置,点击 添加守护进程 按钮。
需要填写的表单信息如下:
名称:随意
启动用户:如果您按照 在 Linux
环境部署 创建了用于运行 Halo 的用户,则选择您创建的用户即可。否则选择默认的 root
。
运行目录:运行包的存放目录,按照实际情况填写,需要保证你所选的目录包含运行包。
启动命令:java -server -Xms256m -Xmx256m -jar halo.jar
填写完成之后点击 确定
按钮即可。
使用反代理实现域名访问halo
在反代理之前建议部署ssl证书。我这边使用宝塔免费证书示例,需要开启强制ssl
添加反代理
目标URL设置你配置的即可。我这边没用做任何修改端口,使用默认8090端口。也在宝塔防火墙放行。
访问域名即可进行 Halo 的初始化。
参与讨论