QF清风笔记 · 技术
技术避坑 · Spring Boot

Spring Boot 项目部署到 Linux 的最小检查清单

很多线上问题不是代码错,而是环境、配置、端口、日志、启动方式和代理规则没有对齐。

Spring BootLinux部署清单
JAR

部署前先固定变量

上线前要明确 jar 路径、配置文件路径、Java 版本、端口、数据库地址、日志目录和启动用户。不要在服务器上临时手写一串 `nohup java -jar`,因为非登录 shell 经常拿不到 Java 的 PATH,重启后问题更隐蔽。

配置建议外置,敏感信息走环境变量或独立配置文件,不要写进仓库。数据库连接、JWT 密钥、上传目录、静态页输出目录都要区分本地和生产。

上线后的四类验证

进程

确认 jar 进程存在、端口监听正常、日志没有启动异常。

接口

访问健康接口和关键公开接口,验证 JSON 结构和中文编码。

代理

Nginx `/api` 是否转发到正确端口,Host 和路径是否一致。

常见坑

一是本地能连数据库,线上连不上,通常是防火墙、账号权限或连接地址写错。二是启动成功但接口 404,可能是 Nginx 代理路径和后端 context-path 不一致。三是日志没有输出,后续排查只能靠猜。四是重启脚本没有加载环境,导致手动运行正常、脚本运行失败。

建议把启动、停止、备份、回滚都脚本化。部署不是一次性动作,而是要能重复执行、能失败恢复、能让后来的人看懂。