内容提要
本文介绍在宝塔9.x专业版部署Java项目的流程:在Java环境管理中安装JDK 17.0.8,上传并解压安装包,添加SpringBoot项目并删除自动生成的--server.port参数;通过域名映射或Nginx反向代理绑定域名,访问前台及/admin/后台完成安装向导,选择H2或MySQL数据库并设置管理员;最后查看日志、禁用安装接口、设置强密码,仅暴露必要端口。
延伸解读
端口参数为何要手动删除
宝塔新版添加 SpringBoot 项目时会自动在启动命令中加上 --server.port=某端口,但文章强调必须整段删掉。原因是项目实际端口由包内 yml 决定,若保留该参数,宝塔会强行覆盖配置,导致端口冲突或入口错乱。新手常因忽略这一步而启动失败,排查时应先检查启动命令是否残留该参数。
H2 与 MySQL 的选择依据
安装向导提供 H2 和 MySQL 两种数据库。H2 是内置轻量库,数据存放在程序目录 ./db/nfdData,无需额外安装,适合个人或小流量站点。MySQL 则适用于已有数据库、需要正式库或多实例的场景。文章建议新手默认选 H2,若检测到旧 H2 数据文件还可勾选迁移。选择时应根据实际访问量和运维能力决定,而非盲目追求 MySQL。
部署后的安全收尾动作
文章多次提醒安装完成后要立即做三件事:后台改强密码、用 Nginx 禁用 /admin/api/install/setup 接口、仅暴露 80/443 等必要端口。安装接口若暴露公网,可能被恶意利用重新初始化。此外,API 口不要对公网开放,生产环境还应避免叠加 systemd 或 Supervisor 造成重复守护。这些步骤虽简单,却是防止后台裸奔的关键。
域名绑定的两种路径对比
绑定域名有 Java 项目外网映射和 Nginx 整站反代两种方式。前者在宝塔 Java 项目管理中添加域名并映射到前台入口,适合快速上线;后者通过 Nginx 反向代理到本机前台地址,文章指出访问量大时更推荐,且专业版可整站反代,比开源版的多条 location 规则更简单。两种方式都需域名已解析,并可在 SSL 中申请 Let’s Encrypt 证书启用 HTTPS。
Q&A
宝塔专业版部署Java项目需要安装哪个版本的JDK?
需要安装JDK 17.0.8,且必须使用JDK 17+,JDK 11无法运行当前专业版主线。
在宝塔添加Java项目时,项目启动命令里自动生成的--server.port参数要怎么处理?
必须把自动生成的--server.port=…整段删掉,只保留包需要的启动方式(如指向app-start.jar或按说明用bash run.sh),端口和入口以包内yml为准。
Java项目部署后如何绑定域名并启用HTTPS?
有两种方式:方式1是在Java项目管理→域名管理→添加域名,使用外网访问/端口映射指到前台入口,并在SSL里申请Let’s Encrypt证书;方式2是使用Nginx整站反向代理,目标填本机前台地址(如http://127.0.0.1:前台端口),申请证书并打开强制HTTPS。访问量大更推荐Nginx反代。
安装向导中数据库应该选H2还是MySQL?
新手或个人/小流量站默认选H2(内置轻量数据库,数据在程序目录./db/nfdData,无需另装库);已有MySQL或要上正式库、多实例时再选MySQL,可粘贴JDBC URL自动识别并测试连接。
安装完成后有哪些安全加固建议?
建议立即在后台修改强密码;公网环境用Nginx禁用/admin/api/install/setup安装接口;生产环境尽量只暴露80/443(以及面板、SSH)端口,API口不要对公网。
如何查看Java项目的运行日志?
日志一般在项目目录下,例如/www/wwwroot/nfd-vip/logs/(以包说明为准);也可以在Java项目列表里点击“日志”查看启动是否报错。