不使用docker部署

在官方“使用 JAR 文件部署”文档中

依赖检查

在开始之前,需要确保服务器已经满足以下条件:

Java 环境,版本要求:
2.21 以上版本:JRE 21
2.20 及以下版本:JRE 17
数据库(任一)
MySQL 5.7+
MariaDB
PostgreSQL

由于 Linux 发行版本的差异以及包管理器的不同,此文档不会涉及到如何安装 Java 环境以及数据库,建议查阅对应依赖的官方文档进行安装。

安装

使用宝塔面板-网址-java项目 进行部署

选择项目路径 例如/www/wwwroot/blog.rao.jx.cn/app

在blog中放置halo.jar文件和application.yaml

官方文档中对数据库 url描述过于简单 实际填写参考下面application.yaml配置文件

更改数据库连接地址和项目工作目录位置

server:
  # 运行端口
  port: 8090
spring:
  # 数据库配置,支持 MySQL、MariaDB、PostgreSQL、H2 Database,具体配置方式可以参考下面的数据库配置
  r2dbc:
    url: r2dbc:mysql://localhost:3306/halo?useSSL=false
    username: admin
    password: admin
  sql:
    init:
      mode: always
      # 需要配合 r2dbc 的配置进行改动
      platform: mysql
halo:
  # 工作目录位置
  work-dir: /www/wwwroot/blog.rao.jx.cn/app
  # 外部访问地址
  external-url: http://localhost:8090
  # 附件映射配置,通常用于迁移场景
  attachment:
    resource-mappings:
      - pathPattern: /upload/**
        locations:
          - migrate-from-1.x

使用springboot用户启动 需要给权限

将目录及其所有子目录和文件的所有权赋予 springboot 用户和组

chown -R springboot:springboot /www/wwwroot/blog.rao.jx.cn/app

确保目录可写

chmod -R 750 /www/wwwroot/blog.rao.jx.cn/app/*

项目启动命令(根据实际jdk版本和文件加路径进行更改)

/www/server/java/jdk-21.0.2/bin/java -jar  -Xmx1024M -Xms256M /www/wwwroot/blog.rao.jx.cn/app/halo.jar --server.port=8090

运行后会在目录里创建很多目录

app
|
--halo.jar
--application.yaml
----backups
----keys
----logs
----plugins
----themes