1. 环境准备:为什么配置环境变量是第一步?
很多刚接触Linux部署的朋友,包括我刚开始那会儿,都容易犯一个错误:直接把Tomcat压缩包解压,然后运行startup.sh就以为完事了。结果呢?要么启动报错,要么每次启动都得跑到Tomcat的bin目录下,麻烦得很。后来踩了几次坑才明白,环境变量配置这一步,看似简单,其实是决定Tomcat能否“融入”系统、方便你后续管理和维护的关键。
你可以把环境变量想象成你家里的“通讯录”。系统(或者你的命令行)就像一个健忘的管家,它不知道你的Tomcat和Java装在哪里。每次你想启动Tomcat,你都得扯着嗓子喊:“喂!Tomcat在/opt/tomcat9/bin里,快去启动它!” 而配置了环境变量,就等于把这个地址写进了管家的通讯录。以后你无论在哪个房间(哪个目录),只要说一声“启动Tomcat”,管家就能立刻翻到通讯录,找到正确的位置去执行命令。
对于Tomcat来说,最核心的环境变量就两个:JAVA_HOME 和 CATALINA_HOME。JAVA_HOME告诉系统Java开发工具包(JDK)的安装位置,这是Tomcat运行的基础,因为Tomcat本身就是一个Java程序。CATALINA_HOME则指明了Tomcat自己的家在哪里,这样Tomcat的启动脚本才能找到它依赖的一大堆库文件和配置文件。把这两个变量配好,你的Tomcat部署之路就成功了一大半。
在开始动手前,我建议你先花一分钟确认下你的Linux系统。打开终端,用 cat /etc/os-release 命令看看你用的是CentOS、Ubuntu还是其他发行版。虽然配置步骤大同小异,但知道自己的系统,在安装依赖和查找默认路径时会更有底。另外,确保你拥有sudo权限,因为有些操作需要管理员身份。
2. 安装JDK:为Tomcat铺好基石
Tomcat是跑在Java虚拟机(JVM)上的,所以第一步必须是安装JDK。这里有个小坑我当年就掉进去过:不要安装JRE(Java运行时环境),要安装JDK(Java开发工具包)。JRE只能运行Java程序,而Tomcat在启动和运行过程中需要用到JDK里的一些工具(比如javac编译器,虽然不直接编译,但某些库需要)。所以,直接装JDK最省心。
2.1 选择合适的JDK版本
现在主流的JDK有Oracle JDK和OpenJDK。对于生产环境,我个人更倾向于使用OpenJDK,因为它开源免费,而且大多数Linux发行版的软件仓库里都有,安装方便,也完全满足Tomcat的需求。你可以用以下命令快速检查系统是否已经安装了Java,以及安装的版本:
java -version
如果显示类似“openjdk version “1.8.0_392””的信息,说明已经安装了。但为了确保万无一失,我们还是从头来过。以常见的Ubuntu和CentOS为例:
在Ubuntu/Debian系统上:
sudo apt update
sudo apt install openjdk-11-jdk -y
这里我以安装OpenJDK 11为例,这是一个长期支持(LTS)版本,与Tomcat 8.5/9/10兼容性都很好。安装完成后,系统通常会自动设置一个默认的Java版本。
在CentOS/RHEL系统上:
sudo yum install java-11-openjdk-devel -y
注意,这里安装的是java-11-openjdk-devel,这个-devel包就包含了完整的JDK。如果只装java-11-openjdk,那可能只是个JRE。
2.2 验证JDK安装并定位路径
安装完成后,再次运行 java -version 确认版本。接下来,我们需要找到JDK被安装到的精确路径,以便设置JAVA_HOME。这个路径因系统和安装方式而异。
一个非常可靠的方法是使用 update-alternatives 命令(在Ubuntu/CentOS上都可用):
sudo update-alternatives --config java
执行后会列出系统上所有已安装的Java版本及其完整路径。记下你刚安装的JDK 11对应的路径,它通常类似于 /usr/lib/jvm/java-11-openjdk-amd64。
如果系统没有这个命令,或者你想更直接一点,可以用 which java 找到java命令的链接,然后用 ls -l 追踪它的真实位置:
which java
# 假设输出 /usr/bin/java
ls -l /usr/bin/j


1153

被折叠的 条评论
为什么被折叠?



