1. 为什么选择Ubuntu部署SpringBoot应用
作为Linux发行版中的常青树,Ubuntu Server凭借其稳定的LTS版本和丰富的软件生态,成为企业级Java应用部署的首选平台。我经手的十几个SpringBoot项目中,有八成以上都运行在Ubuntu 18.04/20.04 LTS环境。相较于Windows Server,Ubuntu的轻量级特性(基础安装仅占用500MB内存)和原生对Java的良好支持,能让SpringBoot应用获得更优的运行时性能。
在实际生产环境中,我们通常会选择OpenJDK作为JVM实现。以最新的SpringBoot 2.7.x为例,官方推荐使用JDK 17版本。通过apt安装的OpenJDK 17在Ubuntu上运行时,其类加载速度比Windows环境快约15%,这在微服务高频重启的场景下优势尤为明显。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 系统初始化设置
新装Ubuntu Server后,建议先执行以下基础优化(以20.04 LTS为例):
bash复制# 更新软件源索引
sudo apt update && sudo apt upgrade -y
# 安装常用工具集
sudo apt install -y vim net-tools htop tree
# 时区配置(国内服务器推荐)
sudo timedatectl set-timezone Asia/Shanghai
# 关闭swap(提升Java应用性能)
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab
# 调整文件描述符限制(应对高并发场景)
echo "* soft nofile 65535" | sudo tee -a /etc/security/limits.conf
echo "* hard nofile 65535" | sudo tee -a /etc/security/limits.conf
注意:生产环境务必配置SSH密钥登录并禁用密码认证,可通过
sudo vim /etc/ssh/sshd_config修改以下参数:code复制PasswordAuthentication no PermitRootLogin no
2.2 Java环境安装
推荐通过官方PPA安装OpenJDK:
bash复制sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt update
sudo apt install -y openjdk-17-jdk
# 验证安装
java -version
javac -version
如果服务器需要同时维护多个Java版本,可以使用update-alternatives进行版本管理:
bash复制sudo update-alternatives --config java
sudo update-alternatives --config javac
3. SpringBoot应用部署方案
3.1 传统JAR包部署方式
对于简单的单体应用,可以直接运行打包后的fat jar:
bash复制nohup java -Xms512m -Xmx1024m -jar your-app
