在Linux服务器上运行Java Spring Boot应用至少需要什么配置?

在 Linux 服务器上运行 Java Spring Boot 应用,至少需要以下核心配置

1. Java 运行时环境(JDK)

  • 安装与项目编译版本匹配的 JDK(推荐 JDK 8、11、17 或 21)。
  • 验证安装:
    java -version
    javac -version  # 可选,若仅运行可省略
  • 设置 JAVA_HOME(部分系统需手动配置):
    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH

2. Spring Boot 可执行 JAR 文件

  • 通过 mvn clean packagegradle bootJar 打包生成带内嵌容器的 .jar 文件。
  • 确保 JAR 包含所有依赖(即使用 spring-boot-maven-pluginrepackage 目标)。

3. 启动命令

最小化启动方式(无需额外配置文件时):

java -jar your-app.jar --server.port=8080 --spring.profiles.active=prod

✅ 注意:生产环境建议避免硬编码端口/Profile,改用外部配置或环境变量。


🔧 推荐补充(非绝对必需但强烈建议)

类别 说明
日志配置 提供 application.ymllogback-spring.xml 控制日志级别、输出路径(如 /var/log/app.log
环境变量 敏感信息(DB 密码、密钥)通过 -D 参数或 env 注入:
export SPRING_DATASOURCE_PASSWORD=xxx && java -jar app.jar
进程守护 使用 systemd 服务管理(替代 nohup),实现开机自启、崩溃重启、日志轮转等
防火墙/安全组 开放对应端口(如 8080),并限制来源 IP(生产环境必备)
资源限制 设置 JVM 堆内存(如 -Xms512m -Xmx2g),防止 OOM

⚠️ 常见误区

  • ❌ 仅安装 JRE 不够 → 必须 JDK(即使只运行,某些 SPI 机制也需编译工具链支持)
  • ❌ 直接 java -cp 运行未重打包的 JAR → 会因缺少内嵌 Tomcat 而报错
  • ❌ 忽略时区/字符集 → 导致时间戳错乱或中文乱码(建议显式设置 -Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8

需要我提供一个完整的 systemd 服务示例或 Docker 部署方案吗?

未经允许不得转载:CLOUD技术博 » 在Linux服务器上运行Java Spring Boot应用至少需要什么配置?