1. 首页 > 技术教程 > 正文

Java 运行环境:在 Linux 部署 JDK 与 Tomcat 详细步骤

Java 运行环境:在 Linux 部署 JDK 与 Tomcat 详细步骤

部署 Java 运行环境是 Linux 服务器运维的常见需求。今天主机选这篇 Linux 教程直接带你把 JDK 和 Tomcat 从头装好,排掉那些老手才知道的坑,确保应用能跑起来。

Java 运行环境:在 Linux 部署 JDK 与 Tomcat 详细步骤的图片

前置准备:检查 Linux 系统与依赖

动手前先确认系统版本,不同发行版包管理命令不同。别问为什么,先跑下面命令看一眼。

查看系统版本,判断是 CentOS 还是 Ubuntu

cat /etc/os-release

确保 wget 和 curl 已安装,没装就补上

CentOS/RHEL 用 yum

sudo yum install -y wget curl

Ubuntu/Debian 用 apt

sudo apt install -y wget curl

万一报错了别慌,通常是网络问题或源没配好,换个国内镜像源再试。这一步卡住后面全白搭。

第一步:安装 JDK(OpenJDK vs Oracle JDK 选择)

生产环境建议用 OpenJDK,免费且兼容性好。Oracle JDK 有版权限制,个人测试无所谓,线上别乱用。

用包管理器安装 OpenJDK 11(推荐)

CentOS 安装 OpenJDK 11

sudo yum install -y java-11-openjdk-devel

Ubuntu 安装 OpenJDK 11

sudo apt install -y openjdk-11-jdk

验证安装是否成功

java -version

看到类似 `openjdk version “11.0.22”` 的输出就对了。如果提示命令找不到,检查下是否装错了包名。

手动解压安装 Oracle JDK(备选方案)

有些项目强制要求 Oracle JDK,那就手动来。先去 Oracle 官网下载 .tar.gz 包,然后传到服务器。

创建安装目录

sudo mkdir -p /usr/local/java

解压到目标目录(文件名根据实际版本改)

sudo tar -zxvf jdk-11.0.22_linux-x64_bin.tar.gz -C /usr/local/java/

配置环境变量

sudo vi /etc/profile

在文件末尾追加以下内容:

JAVA_HOME 路径根据实际解压目录改

export JAVA_HOME=/usr/local/java/jdk-11.0.22
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使配置生效

source /etc/profile

验证

java -version

**老鸟叮嘱**:手动安装时,`JAVA_HOME` 路径写错是最常见的坑。解压后先 `ls` 确认目录名,别把版本号写岔了。万一报 “command not found”,检查 `/etc/profile` 最后一行有没有语法错误。

第二步:配置 Tomcat(从下载到启动)

Tomcat 是 Java Web 应用最常用的容器,部署前先确认 JDK 已经装好。

下载并解压 Tomcat

进入 /usr/local 目录

cd /usr/local

下载 Tomcat 9(版本号按需改)

sudo wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.86/bin/apache-tomcat-9.0.86.tar.gz

解压

sudo tar -zxvf apache-tomcat-9.0.86.tar.gz

重命名,方便管理

sudo mv apache-tomcat-9.0.86 tomcat9

启动 Tomcat 并测试

进入 Tomcat 的 bin 目录

cd /usr/local/tomcat9/bin

启动 Tomcat(会输出启动日志,耐心等几秒)

sudo ./startup.sh

检查是否启动成功,看进程

ps -ef | grep tomcat

如果看到 `org.apache.catalina.startup.Catalina start` 这样的进程,说明启动了。此时在浏览器访问 `http://服务器IP:8080`,能看到 Tomcat 默认页面。

排障:Tomcat 启动失败常见原因

• **端口被占用**:8080 被其他服务占了,改 `server.xml` 里的端口。

• **JDK 环境变量未生效**:手动安装 JDK 时,Tomcat 找不到 `JAVA_HOME`。在 `catalina.sh` 开头加一行 `export JAVA_HOME=/usr/local/java/jdk-11.0.22` 即可。

• **内存不足**:VPS 内存太小,修改 `catalina.sh` 中的 `CATALINA_OPTS=”-Xms512m -Xmx1024m”` 调低点。

第三步:配置防火墙与安全组

Tomcat 启动后,外网可能访问不了,问题多半出在防火墙。

CentOS 放行 8080 端口

sudo firewall-cmd –zone=public –add-port=8080/tcp –permanent
sudo firewall-cmd –reload

Ubuntu 用 ufw

sudo ufw allow 8080/tcp

确认防火墙规则生效

sudo firewall-cmd –list-ports

如果云服务器(如阿里云、腾讯云)还有安全组规则,记得去控制台放行 8080 端口的入方向。**老鸟叮嘱**:防火墙和安全组是两个独立系统,必须都放行,否则端口开了也白搭。

老鸟叮嘱:部署 Java 环境时最容易翻车的三个细节

1. **JDK 版本匹配**:Tomcat 9 需要 JDK 8 以上,Tomcat 10 需要 JDK 11 以上。版本不对,启动报错 `Unsupported major.minor version`。
2. **不要用 root 跑 Tomcat**:出于安全考虑,建议创建专用用户 `useradd -r tomcat`,然后 `chown -R tomcat:tomcat /usr/local/tomcat9`。用 root 跑万一被入侵,服务器直接裸奔。
3. **日志位置**:Tomcat 日志在 `logs/catalina.out`,排查问题先看这个文件,别瞎猜。

FAQ

Linux SSH 连不上怎么办?

先检查网络和防火墙,确认 22 端口是否放行。如果云服务器安全组没开 22 端口,SSH 肯定连不上。

VPS 防火墙端口放行后还是访问不了是什么原因?

两个常见原因:一是安全组没配,二是 Tomcat 监听在 127.0.0.1 而不是 0.0.0.0。修改 `server.xml` 中 Connector 的 `address=”0.0.0.0″` 即可。

Linux 小白可以直接用 root 账号操作吗?

不建议。日常操作用普通用户,需要提权时加 `sudo`。root 误操作删系统文件,哭都来不及。

BBR 开启后为什么速度没有明显提升?

BBR 只优化 TCP 拥塞控制,对延迟高、丢包少的链路效果明显。如果服务器本身带宽小或源站慢,BBR 救不了。

Tomcat 启动后,访问 8080 端口显示 404 怎么办?

默认页面在 `webapps/ROOT` 目录,如果被删除或改过,就会 404。重新部署应用或恢复 ROOT 目录即可。

JDK 安装后 `javac` 命令找不到?

说明只装了 JRE 没装 JDK。`devel` 包才带编译器,用 `yum install java-11-openjdk-devel` 重装一次。

转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9462.html 商家投稿邮箱:zhujixuanblog@qq.com