宝塔面板部署 Spring Boot 项目全流程
宝塔面板部署 Spring Boot 项目全流程一篇面向 Java 开发者的保姆级部署教程。以「智享社区」为例覆盖文件上传 → 数据库导入 → 项目启动 → 接口验证的全过程。读完你也能把自己的 Spring Boot 项目部署到服务器上。适用读者有 Spring Boot 项目要上线但没用过宝塔面板习惯本地开发第一次接触 Linux 服务器部署需要一份截图完整、照做即成的参考文档你的项目需要准备什么开始之前确保本地已有以下文件不管项目叫什么这些是通用的文件作用从哪里来xxx.jarSpring Boot 可执行包mvn package或 Gradle buildapplication.yml生产环境配置从项目src/main/resources/复制并修改init.sql建库建表脚本本地导出或手写fix.sql可选上线后补字段/修表开发迭代中积累的 ALTER 语句本文示例以「智享社区 (IntelliCommunity)」后端为例实际命令中的路径、端口、库名请换成你自己的。本示例项目的环境组件版本端口Spring Boot3.2.xxxxxMySQL8.0xxxxRedis7.xxxxxJDK17-一、上传文件到服务器宝塔内置了文件管理器无需额外工具。操作宝塔左侧菜单 →文件→ 进入/www/wwwroot/新建一个以项目命名的目录如my-project把上述 3~4 个文件上传进去。最终目录结构/www/wwwroot/你的项目/ ├── your-app.jar # Spring Boot JAR ├── application.yml # 生产配置 ├── init.sql # 初始化SQL └── fix.sql # 增量修复SQL可选截图1二、数据库部署2.1 创建数据库宝塔左侧 →数据库→添加数据库。注意三点数据库名与application.yml中spring.datasource.url里的库名一致字符集选utf8mb4支持 emoji密码与application.yml中的密码一致截图22.2 导入初始化 SQL两种方式都可以方式 AphpMyAdmin推荐免命令数据库列表 → 点击目标库右边的phpMyAdmin→ 顶部「导入」→ 选择服务器上的init.sql→ 执行。方式 B命令行mysql-uroot-p数据库名/www/wwwroot/你的项目/init.sql截图3导入成功后左侧会列出项目中所有的表。核对表数量是否与预期一致。截图4:2.3 执行增量 SQL如果有开发过程中后加的表字段deleted 逻辑删除、update_time 等通过 fix.sql 补齐phpMyAdmin → 选中数据库 → 顶部SQL标签 → 粘贴fix.sql全部内容 → 点击「执行」。截图5SQL 执行成功提示绿色 ✅三、安装 Java 运行环境3.1 安装插件宝塔 →软件商店→ 搜索「Java」→ 安装Java 项目一键部署插件。截图6软件商店中 Java 插件已安装3.2 确认 JDK 版本Spring Boot 3.x 要求 JDK 17。SSH 执行java-version# 应输出openjdk version 17.0.x 或更高如果不是 17在软件商店中切换版本或手动安装# CentOS / Rockyyuminstall-yjava-17-openjdk java-17-openjdk-devel# Ubuntu / Debianaptinstall-yopenjdk-17-jdk四、部署 Spring Boot 项目4.1 检查生产配置application.yml中的数据库连接、Redis 地址、端口等需要与服务器实际情况对齐。重点检查server:port:你的端口# 不要和已有服务冲突spring:datasource:url:jdbc:mysql://服务器IP:MySQL端口/数据库名?...# 库名、端口、密码username:数据库用户名password:数据库密码redis:host:服务器IPport:XXXXpassword:Redis密码没有就留空4.2 宝塔添加 Java 项目宝塔 →网站→Java 项目→添加 Java 项目。配置项说明本文示例项目名称任意建议和项目一致智享社区项目路径JAR 所在目录/www/wwwroot/intellicommunityJDK 版本建议 JDK 17JDK 17项目端口与 yml 中server.port一致xxxx启动命令指定外部配置文件java -jar xxx.jar --spring.config.location/www/wwwroot/项目/application.yml运行用户root 即可root启动命令中--spring.config.location指定了外部配置文件路径这样可以在不重新打包的情况下修改数据库密码等配置。截图7点击确定 → 点击启动。4.3 放行端口两步都要做缺一不可宝塔防火墙左侧 →安全→ 添加端口规则TCP项目端口云厂商安全组阿里云/腾讯云等控制台 → 安全组 → 入方向 → 放行 TCP 项目端口截图9五、验证部署5.1 本地 curl 测试SSH 到服务器执行curlhttp://localhost:端口/Spring Boot 默认返回 404 也算正常说明服务起来了。更靠谱的做法是调一个实际接口curl-XPOST http://localhost:端口/api/auth/login\-HContent-Type: application/json\-d{username:admin,password:123456}5.2 外网接口测试用 Postman、ApiPost 等工具从本地发起请求POST http://服务器公网IP:端口/api/auth/login Content-Type: application/json {username:admin,password:123456}截图105.3 查看运行日志宝塔 → Java 项目 → 点击项目 →日志。看到Started XXXApplication in X.XXX seconds就说明启动成功。日志页面也支持实时滚动排查问题时非常有用。截图11六、常见问题排查现象可能原因解决启动立即崩溃JDK 版本太低Spring Boot 3.x 需要 JDK 17升级Communications link failureMySQL 未启动宝塔首页启动 MySQL或systemctl start mysqldAccess denied for user数据库密码/用户名不对检查application.yml与宝塔数据库页是否一致Table xxx doesnt exist未导入 init.sqlphpMyAdmin 重新导入Redis connection refusedRedis 未启动宝塔软件商店启动 Redis外网无法访问端口未放行宝塔安全 云厂商安全组两层都要放端口被占用和已有服务冲突改application.yml里server.port上传文件报 413Nginx 上传大小限制宝塔 Nginx 配置中调大client_max_body_size七、总结整个过程就四步换个项目也一样 传文件 → ️ 导数据库 → ☕ 启服务 → 放端口关键原则配置文件要和生产环境对齐——库名、密码、端口三处一致端口放行记两层——宝塔防火墙 云安全组用外部配置文件——--spring.config.location让你改配置不用重新打包不确定就看日志——宝塔 Java 项目的日志面板是排查第一现场本文截图统一放在screenshots/目录下按编号命名即可对照。