1panel 面板怎么部署 Java 项目
照着做完,你能把本地打好的 jar 包通过 1Panel 面板跑在服务器上,并用域名或 IP 直接访问。
下面以 1Panel v1.10 及以上版本为例(v2.x 菜单基本一致),服务器系统为 Ubuntu 22.04。
第一步:确认版本,装好 Java 运行环境
这一步的目标是让服务器上有一个可用的 JDK/JRE,1Panel 才能托起你的 jar 包。
先登录面板,点左下角「设置」→ 左侧「关于」,确认版本号 ≥ 1.10。低于这个版本,菜单里不会有「运行环境」入口,建议先在「设置」→「面板设置」里点「检查更新」升级。
升级完成后,走这个路径:左侧菜单「网站」→ 顶部标签「运行环境」→ 右上角「创建运行环境」→ 类型选「Java」→ 版本选 OpenJDK 17(Spring Boot 3.x 必须 17 以上,2.x 用 8 或 11)→ 名称填 java17 → 点「确认」。等状态变成「已启动」,环境就好了。
注意:面板里的 Java 版本必须 ≥ 你打包时用的编译版本,否则启动会报
UnsupportedClassVersionError。用java -version和项目pom.xml里的<java.version>对一下。
第二步:把 jar 包传到服务器目录
这一步是把构建产物放到服务器上一个固定位置,方便后面指定启动文件。
左侧「文件」→ 进入 /opt 目录 → 点「新建文件夹」,建一个 /opt/app,再进去建 /opt/app/my-project。进入该目录,点「上传」,选中本地 target 目录下的 xxx.jar,等进度条走完。
官方推荐的应用目录是 /opt/1panel/www/sites/,但自建 /opt/app 更清爽,升级面板不会被动到。
注意:上传后看一眼文件大小,别是 0 字节或者只有几百 KB 的原始 jar(没打依赖的那种)。Spring Boot 项目要用
spring-boot-maven-plugin打出的可执行 jar。
第三步:在面板里创建 Java 项目
这一步是最核心的一步,做完项目就已经能跑起来了。
左侧「网站」→「网站」→「创建网站」:
- 「网站类型」选 Java 项目(部分版本叫「运行环境」)
- 「运行环境」选上一步创建的
java17 - 「主域名」填你的域名,比如
api.example.com;没域名就填服务器公网 IP - 「端口」填
8080(和你application.yml里的server.port一致) - 「项目目录」选
/opt/app/my-project - 「启动文件」选
xxx.jar - 「启动参数」填
-Xms256m -Xmx512m -Duser.timezone=Asia/Shanghai --spring.profiles.active=prod
点「确认」,面板会自动生成 systemd 服务或容器并拉起进程。回到网站列表,状态显示「运行中」就成功了。
注意:如果你的项目是传统 war 包,Java 项目类型跑不起来,得先在应用商店装 Tomcat,再把 war 丢进
webapps。
第四步:放行端口或配置反向代理
这一步决定外面能不能访问到。
在创建网站时如果勾了「反向代理」,1Panel 会自动写一段 Nginx 配置把域名转到 127.0.0.1:8080,你只需要在「网站」→「证书」里给域名申请个 Let's Encrypt 证书并开启 HTTPS。
如果不用域名直连,去左侧「防火墙」→ 放行 8080 端口。
注意:云服务器(阿里云、腾讯云)还有一层安全组,必须在控制台里也放行 8080,只开放面板防火墙是没用的,这是最常见的「明明跑起来了却打不开」的原因。
第五步:看日志、排查问题
网站列表点你刚建的项目 →「日志」,能看到 Java 进程的标准输出,启动异常一眼就能看到。
启动失败但日志空白,多半是被系统 OOM Killer 杀了。用「终端」跑 dmesg | grep -i kill 确认,然后在「主机」→「Swap」里加 1~2G 交换分区,或者把 -Xmx 调小到物理内存的一半以下。
小结
- 版本 ≥ 1.10 才有「网站 → 运行环境」入口,先升级再动手
- Java 运行环境版本必须 ≥ 项目编译版本
- 创建网站时类型选「Java 项目」,项目目录 + 启动文件 + 端口三项要对齐
- 启动参数里建议固定
-Duser.timezone=Asia/Shanghai,否则日志时间对不上 - 访问不通先查云安全组,再查面板防火墙
- 进程莫名消失就查
dmesg,基本是内存不够
原文链接:https://www.gj0.com/thread-945.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。