裸机部署
在 Linux 服务器上用 jar + 外接数据库 + 反向代理完成生产部署的完整步骤,含服务注册、健康检查与端口规划。
概述
裸机部署指不使用容器,直接在服务器上运行发行包里的 jar。这是发行包的主要交付形态:JDK 21 + 产品 jar + 一个配置库 + 一个反向代理。适用于内网服务器、信创环境和不便使用容器的场景。
操作步骤
1. 准备服务器与 Java 运行环境
- 安装 Java 21 或更高版本(JDK 或 JRE 均可;2.0.61 之前的版本必须是 JDK),并确认
java -version可用。 - 选定程序目录,例如
/opt/sight-report。该目录需要对运行用户可写:程序会在其中生成data/与logs/。 - 规划内存。生产环境建议显式设置
JVM_XMX(README 建议 8g 或以上)。
2. 准备配置库
正式使用时建议使用外接数据库。按 初始化向导与数据库准备 建好库、用户并授权,并确认应用服务器能访问数据库端口。
3. 解压并首次启动
mkdir -p /opt/sight-report && cd /opt/sight-report
unzip sight-report-<版本>.zip
chmod +x start.sh install.sh
./start.sh
日志中出现 Spring Boot 启动完成信息后,用浏览器访问 http://<服务器IP>:9091/setup,按 初始化向导 完成配置库与管理员账号。首次启动尚无数据库配置时,日志会提示进入 Setup 模式,这是正常现象。
4. 注册为系统服务
初始化完成后,按 Ctrl+C 停止前台进程,再注册服务:
sudo JVM_XMX=8g ./install.sh
sudo ./install.sh status
服务注册后随系统开机启动,进程异常退出时由 systemd 在 5 秒后重启。详见 安装包与启动脚本。
提示:如果不设
JVM_XMX,堆大小按可用内存的 75% 自适应。同一台机器还运行其他服务时,可用JVM_RAM_PCT调低比例。
5. 验证
访问健康检查接口,无需登录:
curl http://127.0.0.1:9091/api/health
返回 JSON,主要字段:
| 字段 | 含义 |
|---|---|
status |
进程存活时恒为 UP |
dbConfigured |
是否已配置配置库 |
dbReachable |
配置库当前是否可达 |
initialized / bootstrapped |
是否已完成初始化 |
mode |
SINGLE(单实例)或 CLUSTER |
runtimeReady |
运行时是否就绪 |
ready |
已初始化且运行时就绪时为 true |
负载均衡或监控可以用 ready 判断服务是否可接收流量。/api/metrics 以 Prometheus 文本格式输出 JVM 堆、线程数、GC 耗时、进程运行时长等轻量指标,同样无需登录。
6. 配置授权
- 在「系统 > 注册管理」导入授权,见 授权与许可。未注册时限制并发访问 IP 数。也可以把授权内容放进工作目录下的
report-license.txt,配置库中还没有授权时程序会自动读取。如需在前面加反向代理,见下文「端口规划」与相关文档。
端口规划
| 端口 | 用途 | 是否对外开放 |
|---|---|---|
| 9091(Sight Report)/ 9090(Sight Wall) | 产品 HTTP 服务,页面、/api、WebSocket(/ws/stomp)都在此端口 |
只对反向代理开放;无反向代理时对用户网络开放 |
| 配置库端口,如 MySQL 3306、PostgreSQL 5432 | 应用连接配置库 | 只对应用服务器开放,不要暴露到公网 |
| Redis 端口,默认 6379 | 仅集群模式使用 | 只对集群节点开放 |
| 80 / 443 | 反向代理 | 对用户网络开放 |
注意:配置库保存着数据源凭据、用户信息等全部平台数据,也是集群节点互信的依据,不要将其暴露在公网。
信创环境说明
在 openEuler、麒麟等系统上部署时,前提仍是 JDK 21 可用。配置库可选择向导支持的达梦、人大金仓、GaussDB / OpenGauss、Vastbase 等,见 初始化向导与数据库准备。
注意事项
注意:必须在程序目录下启动(脚本与 systemd unit 已保证这一点)。
data/fonts、data/drivers、data/cache等配置项是相对路径,按启动时的工作目录解析;从其他目录直接执行java -jar会使这些目录散落到别处。
注意:Windows 服务器请使用
install.bat,它注册的是开机启动的计划任务,见 安装包与启动脚本。