在新购服务器上搭建 Java 运行环境是许多开发者的第一步。下面以 Ubuntu/Debian 和 CentOS/RHEL 为例,提供一套清晰、安全、适合新手的完整指南(默认使用 OpenJDK 17,兼顾 LTS 支持与主流生态)。
✅ 一、前置准备
-
登录服务器
ssh user@your-server-ip # 建议先用 sudo -i 切换到 root 或确保当前用户有 sudo 权限 -
更新系统包管理器
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS/RHEL 8+ sudo dnf update -y # 或旧版:sudo yum update -y -
安装必要工具(可选但推荐)
sudo apt install -y curl wget vim nano htop # Ubuntu/Debian sudo dnf install -y curl wget vim htop # CentOS/RHEL
✅ 二、安装 Java(OpenJDK)
方案 A:使用系统包管理器(推荐新手)
▶ Ubuntu / Debian
# 安装 OpenJDK 17(LTS,兼容 Spring Boot 3.x、Tomcat 等主流框架)
sudo apt install openjdk-17-jdk -y
# 验证安装
java -version
javac -version
▶ CentOS / RHEL / Rocky / AlmaLinux
# 启用 EPEL 源(若未启用)
sudo dnf install epel-release -y
# 安装 OpenJDK 17
sudo dnf install java-17-openjdk-devel -y
# 验证
java -version
javac -version
💡 提示:
openjdk-17-jre仅含运行时;开发需jdk或-devel包。- 如需其他版本(如 JDK 21),可替换为
openjdk-21-jdk(Ubuntu)或java-21-openjdk-devel(CentOS)。
方案 B:手动下载并安装(适合特定版本需求)
- 访问 Oracle OpenJDK 或 Eclipse Temurin 下载对应系统的
.tar.gz包(例如temurin-17-jdk_linux-x64_bin.tar.gz)。 - 上传至服务器(用
scp或wget):wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz - 解压到指定目录(如
/opt/java):sudo mkdir -p /opt/java sudo tar -xzf OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz -C /opt/java --strip-components=1 - 配置环境变量(编辑
~/.bashrc或/etc/profile.d/java.sh):export JAVA_HOME=/opt/java export PATH=$JAVA_HOME/bin:$PATH - 生效配置:
source ~/.bashrc - 验证:
echo $JAVA_HOME java -version
✅ 三、配置环境变量(持久化)
无论哪种方式,建议统一写入 /etc/profile.d/java.sh(全局生效):
sudo nano /etc/profile.d/java.sh
内容示例:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 # 包管理安装路径
# 或:export JAVA_HOME=/opt/java # 手动安装路径
export PATH=$JAVA_HOME/bin:$PATH
保存后执行:
source /etc/profile.d/java.sh
✅ 检查是否生效:
echo $JAVA_HOME
which java
java -version
✅ 四、验证与测试
创建一个简单的 Java 程序测试编译与运行:
mkdir ~/test-java && cd ~/test-java
cat > Hello.java << 'EOF'
public class Hello {
public static void main(String[] args) {
System.out.println("Java 环境搭建成功!");
System.out.println("JVM: " + System.getProperty("java.version"));
}
}
EOF
javac Hello.java
java Hello
输出应为:
Java 环境搭建成功!
JVM: 17.0.10...
🔐 五、安全与最佳实践建议
| 项目 | 建议 |
|---|---|
| 权限控制 | 避免直接用 root 操作日常任务;创建专用部署用户(如 deploy) |
| 防火墙 | 开放必要端口(如 SSH 22),关闭无关服务 |
| 自动更新 | 定期运行 apt upgrade / dnf update 获取安全补丁 |
| 监控 | 安装 htop、nmon 观察资源使用情况 |
| 备份 | 重要配置文件(如 java.sh)定期备份 |
📌 常见问题速查
| 问题 | 解决方案 |
|---|---|
command not found: java |
检查 JAVA_HOME 是否正确;确认 ~/.bashrc 已 source |
| 多版本冲突 | 使用 update-alternatives(Ubuntu)或 alternatives --config java 切换 |
| 中文乱码 | 在 JAVA_OPTS 中添加 -Dfile.encoding=UTF-8 |
| 内存不足 | 启动时加参数:java -Xms512m -Xmx2g -jar app.jar |
需要我根据你的具体场景(如:部署 Spring Boot 微服务、配合 Docker、或使用阿里云/腾讯云镜像)定制步骤吗?欢迎告诉我你的操作系统版本和用途 😊
云知识