在腾讯云服务器(CVM)上配置 Java 运行环境,主要分为以下几步(以 Ubuntu 22.04 / CentOS 7/8 / Debian 等主流系统为例,推荐使用 Ubuntu 22.04 LTS 或 CentOS Stream 9)。以下是清晰、安全、生产就绪的配置指南:
✅ 一、准备工作
-
登录服务器
使用 SSH 登录腾讯云 CVM(确保安全组已放行 22 端口):ssh -i your-key.pem ubuntu@your-server-ip # Ubuntu/Debian # 或 ssh -i your-key.pem centos@your-server-ip # CentOS/RHEL -
更新系统(推荐先执行)
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y # CentOS 7 sudo yum update -y # CentOS 8+/AlmaLinux/Rocky/Stream 9(推荐用 dnf) sudo dnf update -y
✅ 二、安装 JDK(推荐 OpenJDK 17 或 21 —— LTS 版本)
⚠️ 不建议手动下载 Oracle JDK(需账号+许可限制),推荐使用系统包管理器安装 OpenJDK(LTS 版本),安全、免配置、自动更新。
🔹 方式 1:使用系统包管理器(推荐 ✅)
| 系统 | 命令(安装 OpenJDK 17) |
|---|---|
| Ubuntu 22.04+ | sudo apt install -y openjdk-17-jdk |
| Debian 12 | sudo apt install -y openjdk-17-jdk |
| CentOS 8+/Stream 9 | sudo dnf install -y java-17-openjdk-devel |
| CentOS 7 | sudo yum install -y java-17-openjdk-devel(需启用 EPEL + PowerTools) |
✅ 安装后自动配置 JAVA_HOME(部分系统需手动验证/设置)
🔹 方式 2:使用 SDKMAN!(多版本管理,开发友好 ✅)
适合需要切换多个 JDK(如 8/11/17/21)的场景:
# 安装 SDKMAN!
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# 查看可用 Java 版本
sdk list java
# 安装 OpenJDK 17(如 Temurin 17.0.10+7)
sdk install java 17.0.10-tem
# 设为默认
sdk default java 17.0.10-tem
# 验证
java -version
💡 Temurin(Eclipse Adoptium)是目前最主流、经 TCK 认证的 OpenJDK 发行版,生产环境强烈推荐。
✅ 三、验证安装 & 配置环境变量(关键!)
-
检查 Java 版本
java -version javac -version -
确认
JAVA_HOME是否正确设置echo $JAVA_HOME # 若为空或错误 → 手动设置(推荐写入 `/etc/profile.d/java.sh` 实现全局生效) -
【重要】设置 JAVA_HOME(若未自动配置)
# 查找 JDK 安装路径(常见位置) sudo update-alternatives --config java # 查看路径,如 /usr/lib/jvm/java-17-openjdk-amd64 # Ubuntu/Debian 示例(以 openjdk-17-jdk 为例): echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' | sudo tee /etc/profile.d/java.sh echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile.d/java.sh # CentOS/AlmaLinux 示例(路径可能为): # echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk' | sudo tee /etc/profile.d/java.sh # 生效配置 source /etc/profile.d/java.sh -
再次验证
echo $JAVA_HOME java -version
✅ 输出应显示类似:
openjdk version "17.0.10" 2024-04-16
OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04.1)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04.1, mixed mode, sharing)
✅ 四、(可选)配置 Maven / Gradle(Java 项目常用)
# Ubuntu/Debian 安装 Maven(推荐 3.9+)
sudo apt install -y maven
mvn -v # 验证
# 或使用 SDKMAN 安装最新版 Maven/Gradle
sdk install maven
sdk install gradle
✅ 五、防火墙与安全建议(腾讯云特别注意 ✅)
- ✅ 安全组配置:在腾讯云控制台 → CVM → 安全组,仅开放必要端口(如 Web 应用开 80/443,管理端口如 22 限制来源 IP)。
- ✅ 禁用 root 远程登录(修改
/etc/ssh/sshd_config→PermitRootLogin no,重启sudo systemctl restart sshd)。 - ✅ 定期
sudo apt update && sudo apt upgrade(Ubuntu)或sudo dnf upgrade(CentOS Stream)保持系统及 JDK 安全补丁。
❌ 常见误区提醒
| 错误做法 | 正确做法 |
|---|---|
下载 .tar.gz 手动解压 JDK 并硬编码路径 |
优先用 apt/dnf/sdkman,自动管理路径与更新 |
将 JAVA_HOME 写入 ~/.bashrc(仅当前用户) |
写入 /etc/profile.d/java.sh(所有用户生效) |
| 使用过时 JDK(如 Java 8)部署新项目 | 生产推荐 JDK 17(LTS)或 JDK 21(LTS),兼顾稳定性与新特性 |
忽略 javac(编译器)安装 |
openjdk-17-jdk 包含 javac;jre 包不含,勿混淆 |
📦 附:一键脚本(Ubuntu 22.04 示例)
保存为 setup-java.sh,运行 bash setup-java.sh:
#!/bin/bash
set -e
echo "✅ 更新系统..."
sudo apt update && sudo apt upgrade -y
echo "✅ 安装 OpenJDK 17..."
sudo apt install -y openjdk-17-jdk
echo "✅ 配置 JAVA_HOME..."
JAVA_PATH=$(dirname $(dirname $(readlink -f $(which java))))
echo "export JAVA_HOME=$JAVA_PATH" | sudo tee /etc/profile.d/java.sh
echo "export PATH=$JAVA_HOME/bin:$PATH" | sudo tee -a /etc/profile.d/java.sh
source /etc/profile.d/java.sh
echo "✅ 验证安装..."
java -version
echo "✅ Java 环境配置完成!"
如有具体需求(如部署 Spring Boot、Tomcat、或需要配置 JRE-only 环境、Docker 中运行 Java),欢迎补充,我可以为你定制详细步骤 👇
需要我帮你生成 Spring Boot 项目一键部署脚本 或 Nginx + Java Web 反向X_X配置 吗? 😊
CLOUD云枢