侧边栏壁纸
  • 累计撰写 18 篇文章
  • 累计创建 0 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Ubuntu 使用宝塔搭建 JPOM Server 全流程实战

大锤灬
2026-01-19 / 0 评论 / 0 点赞 / 4 阅读 / 0 字

本文是一篇从 0 到可用的实战型技术博文,完整记录在 Ubuntu 服务器 + 宝塔面板 环境下,搭建 JPOM Server 端 的全过程,并覆盖:

  • 宝塔同时安装 JDK8 & JDK17

  • 系统默认 JDK17,但 JPOM 使用 JDK8 运行

  • 通过 修改 JPOM 的 sh 启动脚本 指定 JDK

  • 宝塔中配置 域名访问 + SSL

  • JPOM 中配置 后端 Java 构建(多环境变量)

  • JPOM 中配置 前端 Vue 构建

  • 远程服务器(SSH)部署 的完整思路

适合人群:

  • Java 后端 / 运维 / 全栈

  • 正在用宝塔,但还没把 CI/CD 跑顺的人


一、服务器与基础环境说明

1. 服务器环境

  • 系统:Ubuntu 20.04 / 22.04(均适用)

  • 面板:宝塔 Linux 面板(正式版)

  • 运行服务:JPOM Server

2. JDK 环境规划(重点)

JDK

用途

JDK 17

系统默认 JDK,用于新项目 / 其他服务

JDK 8

JPOM Server 运行环境

⚠️ JPOM 默认推荐 JDK8,如果你系统默认是 JDK17,一定要单独指定 JPOM 使用 JDK8,否则容易出现兼容问题。


二、宝塔中安装 JDK8 & JDK17

1. 宝塔安装 JDK

进入宝塔后台:

【软件商店】→ 搜索 JDK

分别安装:

  • JDK 1.8

  • JDK 17

安装完成后,宝塔一般会放在类似目录:

/usr/lib/jvm/java-8-openjdk-amd64
/usr/lib/jvm/java-17-openjdk-amd64

实际路径以你服务器为准,可以通过宝塔终端确认

2. 设置系统默认 JDK 为 17

update-alternatives --config java

选择 JDK17 对应编号即可。

验证:

java -version

输出类似:

openjdk version "17.x"

三、安装 JPOM Server

1. 下载 JPOM Server

mkdir -p /opt/jpom
cd /opt/jpom
wget https://d.jpom.top/server-release.jar -O jpom-server.jar

2. 官方启动方式(默认问题)

java -jar jpom-server.jar

❌ 问题在于:

  • 这里用的是 系统默认 JDK(17)

  • 但 JPOM 推荐 JDK8

所以我们必须 改启动脚本


四、修改 JPOM 的 sh 启动脚本(核心)

1. 创建启动脚本

cd /opt/jpom
vi start.sh

2. 错误示例(不要这样)

java -jar jpom-server.jar

这样写会直接使用系统默认 JDK(17)


3. 正确写法:显式指定 JDK8

#!/bin/bash

# ================== JDK 配置 ==================
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
JAVA_BIN=$JAVA_HOME/bin/java

# ================== 应用配置 ==================
APP_HOME=$(cd "$(dirname "$0")" && pwd)
JAR_NAME=jpom-server.jar

# ================== 启动 ==================
cd $APP_HOME

$JAVA_BIN -jar $JAR_NAME \
  --spring.profiles.active=prod \
  > jpom.log 2>&1 &

echo "JPOM Server started with JDK8"

赋权:

chmod +x start.sh

启动:

./start.sh

验证:

ps -ef | grep jpom

4. 验证 JPOM 使用的 JDK

ls -l /proc/进程ID/exe

确认路径指向 JDK8 即可。


五、宝塔中配置域名访问 JPOM(含 SSL)

1. 新建站点

宝塔后台:

【网站】→【添加站点】

  • 域名:jpom.xxx.com

  • PHP:不需要

  • 根目录:随便(不使用)


2. 配置反向代理

进入站点设置 →【反向代理】→ 添加

项目

代理名称

jpom

目标 URL

http://127.0.0.1:2122

2122 为 JPOM 默认端口


3. 配置文件添加配置

    location / {
        proxy_pass http://127.0.0.1:2122;
        proxy_http_version 1.1;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # WebSocket(JPOM 必须)
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }

4. 开启 SSL

站点设置 →【SSL】

  • 选择 Let's Encrypt

  • 申请证书

  • 开启 强制 HTTPS

访问:

https://jpom.xxx.com

即可进入 JPOM 后台。


六、JPOM 中配置构建 Java 后端服务

1. 创建构建项目

【构建】→【新增构建】

2. 常见 Java 构建配置

  • 构建方式:Maven

  • 源码方式:Git

  • 分支:master / main

3. 多环境变量配置(重点)

构建环境变量 中配置:

SPRING_PROFILES_ACTIVE=prod
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
PATH=$JAVA_HOME/bin:$PATH

⚠️ JPOM 本身用 JDK8,不代表你构建的服务只能用 JDK8

4. 构建命令示例

mvn clean package -Dmaven.test.skip=true

5. 构建产物发布

  • 选择 jar

  • 发布到指定服务器 / 节点


七、JPOM 构建前端 Vue 项目

1. 前端构建环境

节点需要安装:

node -v
npm -v

2. 构建命令示例

npm install
npm run build

3. 发布 dist 到 Nginx

rm -rf /www/wwwroot/web/dist/*
cp -r dist/* /www/wwwroot/web/dist/

八、服务不在本机:SSH 部署方案

1. 添加 SSH 节点

【节点管理】→【新增节点】

填写:

  • IP

  • SSH 端口

  • 用户名 / 密码 或 密钥

2. 发布到远程服务器

  • 构建完成后

  • 选择 发布到指定节点

3. 远程服务器上需要搭建 jpom agent 客户端,这样才能 ssh 远程部署


九、常见坑总结

  1. JPOM Server ≠ 构建 JDK

  2. 一定要在 sh 中写死 JAVA_HOME

  3. 宝塔反代端口别写错

  4. 前端构建注意 Node 版本

  5. SSH 节点记得测试连接


十、结语

到这里,一套 宝塔 + JPOM + 多 JDK + 前后端构建 + 远程部署 的体系就完整跑通了。

如果你之前:

  • 构建混乱

  • JDK 版本打架

  • 手动部署到崩溃

那 JPOM + 宝塔,真的值得一套。

后续可以继续扩展:

  • 蓝盾 / GitLab CI 对接

  • 多节点灰度发布

  • 构建权限隔离

—— 写到这,已经值一个 👍 了 😄

0

评论区