Tomcat作为目前使用最广泛的Java Web容器之一,几乎是每个Java后端开发者绕不开的工具。在Windows上装Tomcat非常简单,双击exe一路下一步就行,但换到Linux环境后,很多新手就不知道从何下手了。其实Linux下的Tomcat安装并不复杂,整个过程可以拆解为:准备JDK环境、下载解压Tomcat、配置环境变量、启动验证、防火墙放行这几个步骤。下面按照实际部署顺序逐个讲解。

一、安装前的准备工作:确认JDK环境
Tomcat本身是用Java编写的,它必须依赖JDK才能运行,所以第一步是检查Linux系统里有没有装JDK。打开终端执行以下命令:
java -version javac -version
如果命令能输出版本信息,比如显示java version "1.8.0_321"之类的字样,说明JDK已经安装好了。如果提示命令未找到,就需要先安装JDK。以CentOS为例,可以用yum直接安装OpenJDK:
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
Ubuntu或Debian系统则使用apt命令:
apt-get install -y openjdk-8-jdk
安装完成后再次执行java -version确认。需要注意的是,Tomcat 9要求JDK 8及以上版本,Tomcat 10则要求JDK 11及以上,版本不匹配会在启动时报错,这一点务必提前确认。
二、下载并安装Tomcat
1. 下载Tomcat压缩包
推荐去Apache Tomcat官网下载tar.gz格式的二进制发行包,也可以直接在服务器上用wget命令下载。以Tomcat 9为例:
cd /usr/local/src wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
如果服务器无法访问外网,可以先在本地电脑下载好,再用Xftp、FileZilla等工具上传到服务器。
2. 解压并规划目录
下载完成后解压到指定目录,一般约定放在/usr/local下:
tar -zxvf apache-tomcat-9.0.85.tar.gz -C /usr/local/ mv /usr/local/apache-tomcat-9.0.85 /usr/local/tomcat
解压完成后,/usr/local/tomcat目录下会出现bin、conf、logs、webapps等子目录。bin存放启动和关闭脚本,conf是核心配置文件目录,logs存放运行日志,webapps就是部署war包的默认位置。
3. 配置环境变量
编辑/etc/profile文件,在末尾追加Tomcat的环境变量:
vim /etc/profile # 在文件末尾添加以下内容 export CATALINA_HOME=/usr/local/tomcat export PATH=$PATH:$CATALINA_HOME/bin
保存退出后执行source /etc/profile让配置立即生效。这里CATALINA_HOME是Tomcat的安装根目录,配置到PATH后就可以在任意路径直接执行startup.sh命令了。
三、启动Tomcat并验证安装结果
进入Tomcat的bin目录执行启动脚本:
cd /usr/local/tomcat/bin ./startup.sh
看到终端输出Tomcat started字样,说明脚本执行成功。接下来验证服务是否真正可用,有两种方式:一是查看进程ps -ef | grep tomcat,二是查看端口监听netstat -tulnp | grep 8080。两种方式都能看到结果,基本就可以确认启动成功。
浏览器访问http://服务器IP:8080,如果能看到Tomcat的经典欢迎页面,安装就大功告成了。如果访问不了,先别急着怀疑安装失败,八成是防火墙的问题。CentOS 7使用firewalld,需要放行8080端口:
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Ubuntu的ufw则执行ufw allow 8080。如果是云服务器(阿里云、腾讯云等),除了系统防火墙,还需要在控制台的安全组规则里放行8080端口,这是新手最容易忽略的一个环节。
四、常用配置调整
1. 修改默认端口
Tomcat默认端口是8080,如果和系统里其他服务冲突,或者想直接用80端口对外服务,可以修改conf目录下的server.xml文件,找到Connector节点:
vim /usr/local/tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />把port属性改成想要的端口后保存,重启Tomcat即可生效。修改前建议先备份一份server.xml,避免改错后无法回退。
2. 配置开机自启动
直接用startup.sh启动的Tomcat,服务器重启后不会自动运行。推荐配置成systemd服务,新建/etc/systemd/system/tomcat.service文件:
[Unit] Description=Apache Tomcat After=network.target [Service] Type=forking ExecStart=/usr/local/tomcat/bin/startup.sh ExecStop=/usr/local/tomcat/bin/shutdown.sh Restart=on-failure [Install] WantedBy=multi-user.target
然后依次执行systemctl daemon-reload、systemctl enable tomcat、systemctl start tomcat,之后就可以用systemctl统一管理Tomcat的启停了,服务意外挂掉时还能自动拉起。
五、常见问题排查
启动后立即退出:多半是JDK版本不匹配或者JAVA_HOME没配置。查看logs目录下的catalina.out日志文件,一般都能找到具体报错原因。
端口被占用:执行netstat -tulnp | grep 8080看是哪个进程占了端口,要么杀掉占用进程,要么修改Tomcat端口。
shutdown.sh关不掉进程:Tomcat默认通过8005端口发送关闭指令,如果这个端口被禁用,shutdown脚本会失效,此时只能用kill命令强制结束进程。
日志中文乱码:在catalina.sh的开头加上JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"通常可以解决。
总的来说,Linux下的Tomcat安装就是下载解压加环境变量这几步,真正的难点往往在于防火墙、安全组和JDK版本这些环境因素。掌握好日志排查的思路,遇到问题先看catalina.out,大部分报错都能迎刃而解。部署好Tomcat之后,把war包丢进webapps目录重启服务,一个Java Web项目就能对外提供服务了。
Tomcat安装Linux Tomcat配置JDK环境变量修改时间:2026-09-13 19:39:03