跳到主要内容

宝塔面板 Java 手动部署

这是一种面向熟悉 Java 运维用户的高级部署方式。普通用户优先选择宝塔面板 Docker 部署,可以避免手动维护 Java、JAR 和启动目录。

1. 从源码构建 JAR

当前文档站不再提供独立 surveyking.jar 下载地址。请在构建机上安装 JDK 8,然后从源码构建:

git clone https://gitee.com/surveyking/surveyking.git
cd surveyking/surveyking-server/server
./gradlew clean :api:bootJar -Ph2 -x test

Windows 构建机执行 gradlew.bat。输出文件为:

api/build/libs/surveyking-v1.13.0.jar

把该 JAR 上传到服务器,例如 /www/wwwroot/surveyking/

2. 安装运行环境

在宝塔“Java 项目管理器”或系统中安装 Java 11 运行时。确认:

java -version

为项目准备固定工作目录:

mkdir -p /www/wwwroot/surveyking/{config,db,files,logs}

3. 创建 Java 项目

不同宝塔版本的字段名称可能略有差异,核心配置如下:

配置项建议值
项目目录/运行目录/www/wwwroot/surveyking
JAR/www/wwwroot/surveyking/surveyking-v1.13.0.jar
JavaJava 11
端口1991
启动参数--spring.profiles.active=h2 --server.port=1991

关键点是把“工作目录”固定为 /www/wwwroot/surveyking。H2 数据库、附件和配置都使用相对路径;工作目录变化会让程序看起来像一套新系统。

等价的命令如下:

cd /www/wwwroot/surveyking
java -jar surveyking-v1.13.0.jar \
--spring.profiles.active=h2 \
--server.port=1991

4. 初始化

启动成功后访问:

http://服务器 IP:1991/setup
  • 轻量使用可以选择 H2,不需要安装 MySQL;
  • 正式公网服务可以在宝塔中创建一个空的 MySQL 数据库,再在 /setup 填写连接信息;
  • v1.13.0 会自动初始化数据库,不要手工导入 init-mysql.sql

5. 配置反向代理

在宝塔中创建站点,把域名反向代理到:

http://127.0.0.1:1991

申请 SSL 证书并开启 HTTPS。确认域名访问正常后,关闭公网 1991 端口,只允许本机 Nginx 访问后端。

6. 升级和备份

升级前:

  1. 在“系统管理 → 系统设置 → 数据备份”导出备份;
  2. 停止 Java 项目;
  3. 备份 config/db/files/,使用外部 MySQL 时另做数据库备份;
  4. 替换 JAR,保持工作目录和启动参数不变;
  5. 启动项目并检查日志。

不要把 JAR、数据库和附件都放在临时目录中,也不要在服务运行时直接复制 H2 数据库文件。