step0、你需要准备什么?
- 一个已经备案的域名和云主机。
- 云主机建议安装centos7.8。
- 云主机的网络策略里已经开通80、443、8090端口。
- 有一个健全的大脑和会复制粘贴的双手。
- 域名已经解析到云主机,切已经备案或者可用。
step1、打开云主机防火墙的80、443、8090端口
这里以centos7.8为例:
1.查看防火墙状态
systemctl start firewalld
2.开启防火墙
systemctl start firewalld
3.开启端口(依次执行)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=8090/tcp
4.重启防火墙
systemctl reload firewalld
5.查看端口状态(依次执行,返回值为yes则为打开)
firewall-cmd --query-port=80/tcp
firewall-cmd --query-port=443/tcp
firewall-cmd --query-port=8090/tcp
step2、安装和检查依赖项
1.安装依赖项
sudo yum install java-11-openjdk -y
2.检查依赖项
java -version
**返回版本号及类似如下信息则成功
openjdk version "11.0.14.1" 2022-02-08 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14.1+1-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14.1+1-LTS, mixed mode, sharing)
step3、部署Halo
1.创建并进入放置运行包的目录
mkdir ~/app && cd ~/app
2.下载运行包(这里下载地址请参照官方)
wget https://dl.halo.run/release/halo-1.5.1.jar -O halo.jar
3.创建工作目录
mkdir ~/.halo && cd ~/.halo
4.下载官方示例配置文件到工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
5.编辑配置文件(可省略)
不会vim或者nano的话这里建议通过sftp登陆到服务器,下载配置文件,使用记事本修改好后在上传覆盖(记得备份)。
这里主要就是修改一些数据库连接参数、缓存、启动端口什么的,楼主这里不修改了。
server:
port: 8090
# Response data gzip.
compression:
enabled: false
spring:
datasource:
# H2 database configuration.
driver-class-name: org.h2.Driver
url: jdbc:h2:file:~/.halo/db/halo
username: admin
password: 123456
# MySQL database configuration.
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# username: root
# password: 123456
# H2 database console configuration.
h2:
console:
settings:
web-allow-others: false
path: /h2-console
enabled: false
halo:
# Your admin client path is https://your-domain/{admin-path}
admin-path: admin
# memory or level
cache: memory
6.测试运行Halo
cd ~/app && java -jar halo.jar
如最终可输出如下信息则证明运行成功,可以通过IP+端口访问到初始安装界面。
Halo started at http://127.0.0.1:8090
Halo admin started at http://127.0.0.1:8090/admin
Halo has started successfully!
step4、以服务运行Halo
1.下载官方的halo.service
wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service
2.修改官方halo.service模版如下:(文件地址/etc/systemd/system/halo.service)
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar /root/app/halo.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog
StandError=inherit
[Install]
WantedBy=multi-user.target
3.重新加载systemd
systemctl daemon-reload
4.运行服务
systemctl start halo
5.在系统启动时启动服务
systemctl enable halo
6.可查看服务日志检查启动状态
journalctl -n 20 -u halo
如果能看到halo版本号Version: 1.5.1及HALO的图形,拿就是成功了。
至此Halo搭建完毕,可以通过IP:8090端口访问,进入初始设置进行配置。
step5 使用 Caddy2配置反向代理
1.首先安装COPR插件
yum install yum-plugin-copr
2.安装 caddy(依次执行)
yum copr enable @caddy/caddy
yum install caddy
3.验证安装情况
caddy version
如能返回版本号则安装成功。
4.启动caddy(依次执行)
systemctl daemon-reload
systemctl enable caddy
systemctl start caddy
5.验证是否启动成功
systemctl status caddy
6.修改配置文件
vim /etc/caddy/Caddyfile
7.配置文件如下:
”你的域名“
encode gzip
reverse_proxy 127.0.0.1:8090
8.修改配置后重新加载配置
systemctl reload caddy
9.***到这里,稍等片刻就完成了部署,并且自动部署了ssl证书参考文章里还多进行了一步,有需要的到链接里查看。感谢各位无私分享的大神。caddy配置参考了以下文章
郭立lee
评论区