前言:已安装 halo 博客为例

1、安装 Java 运行环境

# 安装 OpenJRE
sudo yum install java-1.8.0-openjdk -y

# 检测是否安装成功
java -version

2、下载配置文件

# 下载配置文件到 ~/.halo 目录
curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml

3、修改配置文件

# 使用 Vim 工具修改配置文件
vim ~/.halo/application.yaml

注释掉 h2 数据库的连接信息,放开 MySQL 相关的配置,并将密码修改为之前安装 MySQL5.7 时设置的密码,此处为:MyNewPass4!

server:
  port: 8090
spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource

    # H2 Database 配置,如果你需要使用 MySQL,请注释掉该配置并取消注释 MySQL 的配置。
    #driver-class-name: org.h2.Driver
    #url: jdbc:h2:file:~/.halo/db/halo
    #username: admin
    #password: 123456

    # MySQL 配置,如果你需要使用 H2Database,请注释掉该配置并取消注释上方 H2Database 的配置。
    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: MyNewPass4!

  # H2 Database 的控制台相关配置,如果你使用的是 MySQL ,请注释掉下方内容。
  h2:
    console:
      settings:
        web-allow-others: false
      path: /h2-console
      enabled: false

修改完成后保存退出即可。

4、运行 Halo

# 下载最新的 Halo 安装包,{{version}} 为版本号,不带 v,更多下载地址请访问 https://halo.run/archives/download.html
wget https://dl.halo.run/release/halo-{{version}}.jar -O halo-latest.jar

# 启动测试
java -jar halo-latest.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!

提示:
以上的启动仅仅为测试 Halo 是否可以正常运行,如果我们关闭 ssh 连接,Halo 也将被关闭。要想一直处于运行状态,请继续看下面的教程。

5、进阶配置

# 下载 Halo 官方的 halo.service 模板
sudo curl -o /etc/systemd/system/halo.service --create-dirs https://dl.halo.run/config/halo.service

# 修改 halo.service
sudo vim /etc/systemd/system/halo.service

打开之后我们可以看到

[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target

[Service]
User=halo
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

参数说明:

  • -Xms256m:为 JVM 启动时分配的内存,请按照服务器的内存做适当调整,512 M 内存的服务器推荐设置为 128,1G 内存的服务器推荐设置为 256,默认为 256。
  • -Xmx256m:为 JVM 运行过程中分配的最大内存,配置同上。
  • YOUR_JAR_PATH:Halo 安装包的绝对路径,此处为 /root/halo-latest.jar
# 修改 service 文件之后需要刷新 Systemd
sudo systemctl daemon-reload

# 使 Halo 开机自启
sudo systemctl enable halo

# 启动 Halo
sudo service halo start

# 重启 Halo
sudo service halo restart

# 停止 Halo
sudo service halo stop

# 查看 Halo 的运行状态
sudo service halo status

完成以上操作即可通过 IP:端口 访问了。

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议