侧边栏壁纸
  • 累计撰写 5 篇文章
  • 累计创建 2 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

从零开始搭建Halo博客

想念丶
2022-04-07 / 0 评论 / 2 点赞 / 1,357 阅读 / 3,104 字

step0、你需要准备什么?

  1. 一个已经备案的域名和云主机。
  2. 云主机建议安装centos7.8。
  3. 云主机的网络策略里已经开通80、443、8090端口。
  4. 有一个健全的大脑和会复制粘贴的双手。
  5. 域名已经解析到云主机,切已经备案或者可用。

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

2

评论区