宝塔面板部署SpringBoot需上传Jar包、配置JDK、用systemd或nohup运行、再通过Nginx反向代理。具体包括:上传验证Jar包;安装配置JDK 8/11;创建systemd服务实现开机自启与自动重启;或用nohup后台运行;最后配置Nginx将域名请求转发至8080端口。

如果您在宝塔面板环境中部署 Java SpringBoot 项目,需将编译后的 Jar 包通过系统服务或进程管理方式持续运行。以下是具体操作步骤:
一、上传并验证 Jar 包
确保 Jar 包已正确构建且具备可执行性,上传至服务器指定目录后需确认其完整性与运行依赖。
1、使用宝塔面板的“文件”功能,进入目标目录(如 /www/wwwroot/springboot-app)。
2、点击“上传”,将本地生成的 app.jar 文件上传至该目录。
立即学习“Java免费学习笔记(深入)”;
3、在宝塔终端中执行命令验证 Jar 包是否可读且为可执行格式:file /www/wwwroot/springboot-app/app.jar,输出应含 executable 字样。
二、配置 Java 运行环境
SpringBoot Jar 包依赖系统级 Java 运行时,需确认宝塔服务器已安装匹配版本的 JDK 并正确配置环境变量。
1、在宝塔终端中执行 java -version,检查是否返回有效版本信息(建议 JDK 8 或 JDK 11)。
2、若未安装,通过宝塔软件商店安装“Java 环境”插件,或手动安装 OpenJDK:wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz,解压并配置 /etc/profile 中的 JAVA_HOME 与 PATH。
3、执行 source /etc/profile 生效配置,再次运行 java -version 验证。
三、使用 systemd 系统服务托管运行
通过 systemd 创建持久化服务,可实现开机自启、异常自动重启及日志统一管理。
1、创建服务文件:vi /etc/systemd/system/springboot-app.service。
2、写入以下内容(请按实际路径和用户修改):
[Unit]
Description=SpringBoot App Service
After=network.target
[Service]
Type=simple
User=www
WorkingDirectory=/www/wwwroot/springboot-app
ExecStart=/usr/bin/java -jar /www/wwwroot/springboot-app/app.jar --spring.profiles.active=prod
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
3、重载服务配置:systemctl daemon-reload。
4、启用并启动服务:systemctl enable springboot-app.service && systemctl start springboot-app.service。
5、查看运行状态:systemctl status springboot-app.service,确认显示 active (running)。
四、使用 nohup 后台直接运行
适用于临时调试或轻量部署,不依赖系统服务管理,但缺乏自动恢复能力。
1、进入 Jar 所在目录:cd /www/wwwroot/springboot-app。
2、执行后台运行命令:nohup java -jar app.jar --spring.profiles.active=prod > app.log 2>&1 &。
3、记录返回的进程 PID,后续可通过 kill -9 PID 停止服务。
4、查看日志输出:tail -f app.log。
五、配置 Nginx 反向代理访问
SpringBoot 默认监听 8080 等端口,需通过 Nginx 将域名请求转发至本地服务端口,实现标准 HTTP 访问。
1、在宝塔面板中添加站点,绑定域名,根目录可设为任意路径(如 /www/wwwroot/proxy-only)。
2、进入该站点的“配置文件”页,删除原有 location 块,在 server 段内插入:
location / {
proxy_pass http://127.0.0.1:8080;
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;
}
3、确认 SpringBoot 应用已监听 0.0.0.0:8080(非仅 127.0.0.1),可在启动参数中加入:--server.address=0.0.0.0 --server.port=8080。
4、保存配置,重启 Nginx:nginx -t && systemctl restart nginx。










