使用宝塔部署halo博客

2022-07-04 12:07:27 浏览数 (1)

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。 具体要求:

  1. 版本:5.7
  2. 字符集(Character Set):utf8mb4
  3. 排序规则(Collate):utf8mb4_bin
  4. 存储引擎:InnoDB
Supervisor管理器

一个Python开发的通用的进程管理程序,用来管理halo运行进程,实现常驻后台。

安装教程

安装JRE 11
CentOS
代码语言:javascript复制
sudo yum install java-11-openjdk -y

检查版本

代码语言:javascript复制
java -version

如果输出以下类似内容即代表成功

代码语言:javascript复制
openjdk version "11.0.10" 2021-01-19 LTSOpenJDK 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
代码语言:javascript复制
sudo apt-get install openjdk-11-jre -y

检查版本:

代码语言:javascript复制
java -version

如果输出以下类似内容即代表成功

代码语言:javascript复制
openjdk version "11.0.10" 2021-01-19OpenJDK 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 的用户(名字可以随意)

代码语言:javascript复制
useradd -m halo

给予 sudo 权限

代码语言:javascript复制
usermod -aG wheel halo

为 halo 用户创建密码

代码语言:javascript复制
passwd halo

登录到 halo 账户

代码语言:javascript复制
su - halo
安装halo

来到宝塔创建网站,设置目录以方便放程序文件

cd进入网站目录

代码语言:javascript复制
cd /www/wwwroot/ecy
下载运行包
代码语言:javascript复制
wget https://dl.halo.run/release/halo-1.5.3.jar -O halo.jar 
创建halo工作目录

Halo 所依赖的工作目录,在 Halo 运行的时候会在系统当前用户目录下产生一个 .halo 的文件夹,绝对路径为 ~/.halo。由于这个工作目录是固定的,所以上面所说的 运行包不限制所存放的位置

代码语言:javascript复制
mkdir ~/.halo && cd ~/.halo
下载示例配置文件到工作目录
代码语言:javascript复制
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml 
测试运行 Halo

进入网站目录执行运行命令

代码语言:javascript复制
cd /www/wwwroot/ecy && java -jar halo.jar

如看到类似以下日志输出,则代表启动成功。

代码语言:javascript复制
run.halo.app.listener.StartedListener    : Halo started at         http://127.0.0.1:8090run.halo.app.listener.StartedListener    : Halo admin started at   http://127.0.0.1:8090/adminrun.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 的初始化。

0 人点赞