在 Java Web 开发与运维中,Tomcat+JDK 是最经典的基础环境组合。无论是新手首次搭建,还是老运维进行版本升级,JAVA_HOME 配置错误、版本不兼容、升级后启动失败都是高频踩坑点。本文以/u01为统一安装路径,全程实操可落地,新手也能照着做。
一、前期准备:版本选择与下载
1. 版本匹配原则(必看)
Tomcat 版本 推荐 JDK 版本 注意事项
Tomcat 7 JDK 7/8 稳定版,兼容 Java EE
Tomcat 8 JDK 7/8 稳定版,兼容 Java EE
Tomcat 9 JDK 8/11 稳定版,兼容 Java EE
Tomcat 10+ JDK 11 及以上 适配 Jakarta EE,旧应用需迁移
2. JDK 下载(以 OpenJDK 为例,免费开源)
访问:https://repo.huaweicloud.com/java/jdk/
想要哪个版本,就进入对应目录,找对应tar.gz包就行,这种是解压即可用的,免安装。
下的时候注意linux的就下linux的,windows的就下windows的。x64就是64位的系统,i586就是32位的系统。
选中需要下的版本,然后邮件-复制链接,放到linux服务器上wget 粘贴
这样就会自动下载了。也可以直接点击下到本地电脑再上传到服务器
wget https://repo.huaweicloud.com/java/jdk/8u152-b16/jdk-8u152-linux-x64.tar.gz
3. Tomcat 下载
访问官网:https://tomcat.apache.org/ 点击左边download标签下方tomcat9, 下tomcat10就选tomcat10,然后注意下windows版本还是linux版本,32位还是64位,框中的zip和tar.gz这2个都是linux版本的。选择后右键-复制链接
然后再服务器上wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.115/bin/apache-tomcat-9.0.115.tar.gz
就可以下到服务器上了,也可以直接点击下到本地电脑再上传到服务器
二、环境搭建:从 0 到 1 安装配置
1. JDK 安装与环境变量配置
步骤 1:解压 JDK
cd /u01
# 解压JDK 8(文件名根据实际下载调整)
tar -zxvf jdk-8u152-linux-x64.tar.gz
步骤 2:配置全局环境变量
编辑/etc/profile(所有用户生效):
vi /etc/profile
在文件末尾添加以下内容:
# JDK环境变量
export JAVA_HOME=/u01/jdk1.8.0_152
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
步骤 3:生效并验证
# 使配置生效
source /etc/profile
# 验证JDK版本(输出1.8.x即为成功)
java -version
# 验证JAVA_HOME路径
echo $JAVA_HOME
2. Tomcat 安装与 catalina.sh 核心配置
步骤 1:解压 Tomcat
cd /u01
# 解压Tomcat 9(文件名根据实际下载调整)
tar -zxvf apache-tomcat-9.0.115.tar.gz
# 重命名为规范路径
mv apache-tomcat-9.0.85/ tomcat
步骤 2:在 catalina.sh 中指定 JAVA_HOME(关键!)
即使全局配置了 JAVA_HOME,也建议在 Tomcat 的catalina.sh中单独配置,避免环境冲突导致启动失败。
编辑catalina.sh:
vi /u01/tomcat/bin/catalina.sh
在文件 ** 开头(第一行注释后)** 添加以下内容:
# 手动指定JDK路径(核心配置)
export JAVA_HOME=/u01/jdk1.8.0_152
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_HOME=/u01/tomcat
export CATALINA_BASE=/u01/tomcat
步骤 3:启动 Tomcat 并验证
# 启动Tomcat
cd /u01/tomcat/bin
chmod 777 *
./startup.sh
# 查看启动日志(确认无报错)
tail -f /u01/tomcat/logs/catalina.out
# 验证端口(默认8080,有输出即为成功)
netstat -tunlp | grep 8080
浏览器访问http://服务器IP:8080,能看到 Tomcat 默认页面即搭建成功。
三、版本升级:无缝切换不踩坑
1. JDK 升级(以 JDK 8→JDK 11 为例)
步骤 1:下载并解压新版 JDK
步骤 2:修改配置文件
全局环境变量:编辑/etc/profile,将JAVA_HOME改为/u01/jdk1.11;
Tomcat 配置:编辑/u01/tomcat/bin/catalina.sh,同步修改JAVA_HOME为/u01/jdk1.11。
步骤 3:生效并验证
source /etc/profile
java -version # 输出11.x即为成功
2. Tomcat 升级(以 Tomcat 9→Tomcat 10 为例)
步骤 1:停止旧版 Tomcat 并备份
# 停止旧版Tomcat
/u01/tomcat/bin/shutdown.sh
# 备份应用和配置(关键!防止数据丢失)
cp -r /u01/tomcat/webapps/ /u01/tomcat/webapps-bak/
cp -r /u01/tomcat/conf/ /u01/tomcat/conf-bak/
步骤 2:安装新版 Tomcat
# 下载并解压Tomcat 10
# 配置catalina.sh(指定JDK路径)
vim /u01/tomcat10/bin/catalina.sh
# 添加以下内容
export JAVA_HOME=/u01/jdk1.11
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_HOME=/u01/tomcat10
export CATALINA_BASE=/u01/tomcat10
步骤 3:迁移应用和配置
# 迁移旧应用
cp -r /u01/tomcat/webapps-bak/* /u01/tomcat10/webapps/
# 迁移旧配置(如server.xml、web.xml)
cp -r /u01/tomcat/conf-bak/* /u01/tomcat10/conf/
步骤 4:启动新版 Tomcat 并验证
/u01/tomcat10/bin/startup.sh
tail -f /u01/tomcat10/logs/catalina.out
四、常见问题排查
1.Tomcat 启动提示 “JAVA_HOME not set”:
优先检查catalina.sh中的JAVA_HOME路径是否正确(避免拼写错误),确保配置在文件开头。
2.JDK 升级后应用启动失败:
检查应用是否兼容新版 JDK(如 JDK 8→11 需注意模块化、API 变更),可在catalina.sh中添加 JVM 参数兼容。
3.Tomcat 端口被占用:
修改/u01/tomcat/conf/server.xml中的<Connector port="8080"为未占用端口(如 8081)。
五、总结
核心配置:catalina.sh中单独配置JAVA_HOME是避免启动失败的关键;
路径规范:统一使用/u01/jdk1.*和/u01/tomcat便于管理;
升级原则:先备份应用和配置,再修改环境变量,最后验证启动。
按照本文步骤操作,无论是首次搭建还是版本升级,都能避开 90% 以上的坑,适合新手和运维人员日常使用