1. Linux环境下Java应用部署实战指南
在服务器端部署Java应用是后端开发者的必备技能。不同于本地开发环境,生产环境的部署需要考虑稳定性、资源占用和长期运行等因素。本文将基于JDK 21环境,详细介绍从零开始部署Spring Boot应用的完整流程,包含我在实际运维中积累的多个实用技巧。
选择jar包部署方式主要基于其简单性和通用性——无需额外安装应用服务器,一个包含所有依赖的fat jar即可运行。这种方式特别适合中小型项目快速部署,也便于持续集成/持续部署(CI/CD)流程的自动化。下面将分步骤详解部署过程中的关键环节和注意事项。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 JDK安装与验证
在Linux系统上安装JDK有多种方式,我推荐使用系统包管理器安装OpenJDK,这是最直接且易于维护的方式。对于Ubuntu/Debian系统:
bash复制sudo apt update
sudo apt install openjdk-21-jdk -y
这里有几个关键细节需要注意:
- 包名必须是
openjdk-21-jdk而不是openjdk-21,后者只包含运行时环境(JRE)而不包含编译器(javac) -y参数自动确认安装,适合脚本化部署- 如果系统提示找不到包,可能需要先更新软件源或添加PPA
安装完成后必须验证环境:
bash复制java -version
javac -version
预期输出应包含"21"版本号信息。如果遇到版本不匹配问题,可能需要检查JAVA_HOME环境变量设置:
bash复制export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
提示:生产环境中建议固定JDK版本而非使用"latest"标签,避免因自动更新导致兼容性问题
2.2 目录结构与权限配置
合理的目录结构能显著降低后续维护成本。我推荐的标准目录布局:
code复制/opt
└── app
├── bin # 启动/停止脚本
├── config # 配置文件
├── lib # jar包存放
├── logs # 日志文件
└── temp # 临时文件
创建目录并设置权限:
bash复制sudo mkdir -p /opt/app/{bin,config,lib,logs,temp}
sudo chown -R $USER:$USER /opt/app
sudo chmod -R 755 /opt/app
这种结构的好处是:
- 分离可执行文
