当前位置:网站首页>使用宝塔部署halo博客
使用宝塔部署halo博客
2022-07-04 12:36:00 【樱次元】
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 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
sudo apt-get install openjdk-11-jre -y
检查版本:
java -version
如果输出以下类似内容即代表成功
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 的用户(名字可以随意)
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: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 的初始化。
边栏推荐
猜你喜欢
PostgreSQL 9.1 soaring Road
Meituan Ali's Application Practice on multimodal recall
ISO 27001 Information Security Management System Certification
C language function
17. Memory partition and paging
AI painting minimalist tutorial
[data clustering] section 3 of Chapter 4: DBSCAN performance analysis, advantages and disadvantages, and parameter selection methods
How to realize the function of Sub Ledger of applet?
After installing vscode, the program runs (an include error is detected, please update the includepath, which has been solved for this translation unit (waveform curve is disabled) and (the source fil
When synchronized encounters this thing, there is a big hole, pay attention!
随机推荐
Peak detection of measured signal
VIM, another program may be editing the same file If this is the solution of the case
PostgreSQL 9.1 飞升之路
Why can the implementation class of abstractdispatcherservletinitializer be called when initializing the web container
再说rsync+inotify实现数据的实时备份
面试官:Redis 过期删除策略和内存淘汰策略有什么区别?
《天天数学》连载57:二月二十六日
数据库锁表?别慌,本文教你如何解决
[leetcode] 96 and 95 (how to calculate all legal BST)
Flet教程之 按钮控件 ElevatedButton入门(教程含源码)
使用 NSProxy 实现消息转发
Read the BGP agreement in 6 minutes.
C fonctions linguistiques
CANN算子:利用迭代器高效实现Tensor数据切割分块处理
读《认知觉醒》
golang 设置goproxy代理的小细节,适用于go module下载超时,阿里云镜像go module下载超时
I want to talk about yesterday
n++也不靠谱
Reinforcement learning - learning notes 1 | basic concepts
Can Console. Clear be used to only clear a line instead of whole console?