Tomcat 怎么部署?Linux 环境安装与验证步骤

在 Linux 服务器上部署 Tomcat,核心流程是:先安装匹配版本的 JDK,再解压 Tomcat 压缩包,修改必要的端口配置,启动服务并用浏览器访问默认页面验证。
整个过程不需要编译源码,但需要确认 Java 环境变量和防火墙规则,否则 Tomcat 可能启动失败或外部无法访问。

部署前要确认的两件事

Tomcat 是 Java Web 容器,运行前必须有 JDK。
先检查服务器上是否已经安装 Java:

java -version

如果输出类似 openjdk version "1.8.0_xxx" 或更高版本,说明 JDK 已存在。
如果提示 command not found,需要先安装 JDK。
以 CentOS 7 为例:

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

Ubuntu 或 Debian 可以使用:

sudo apt update
sudo apt install -y openjdk-8-jdk

安装完成后再次执行 java -version,确认能正常输出版本号。
同时检查 JAVA_HOME 是否设置:

echo $JAVA_HOME

如果没有输出,可以在 /etc/profile 末尾追加 JDK 路径,然后执行 source /etc/profile 生效。
路径可以用 readlink -f $(which java) 找到,去掉末尾的 /bin/java 即为 JDK 目录。

Tomcat 版本需要和 JDK 版本匹配。
较新的 Tomcat 9 通常要求 JDK 8 及以上,Tomcat 10 要求 JDK 8 及以上但包名已改为 jakarta.*,老项目如果依赖 javax.* 包,应优先选择 Tomcat 9 或更早版本。
下载前先确认项目使用的 Servlet 规范版本,避免部署后出现类找不到的错误。

下载并解压 Tomcat

从 Apache Tomcat 官网下载对应版本的二进制压缩包,上传到服务器,或者直接在服务器上用 wget 下载。
以下以 Tomcat 9 为例,具体版本号请以官网当前稳定版为准:

cd /usr/local
sudo wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.x/bin/apache-tomcat-9.0.x.tar.gz
sudo tar -zxvf apache-tomcat-9.0.x.tar.gz
sudo mv apache-tomcat-9.0.x tomcat9

解压后目录结构大致如下:

  • bin/:启动和停止脚本,startup.sh、shutdown.sh 在这里
  • conf/:配置文件,server.xml 控制端口和连接器
  • webapps/:默认应用目录,把 WAR 包或静态文件放在这里
  • logs/:日志目录,启动失败时优先查看 catalina.out

建议创建一个专用用户运行 Tomcat,不要直接用 root 启动。
例如:

sudo useradd -r -s /sbin/nologin tomcat
sudo chown -R tomcat:tomcat /usr/local/tomcat9

修改端口并启动服务

Tomcat 默认监听 8080 端口。
如果服务器上已有其他程序占用 8080,可以修改 conf/server.xml 中的 Connector 配置:

把 port 改成空闲端口,例如 8081,保存后重启生效。
修改前可以用 ss -tlnp | grep 8080 确认端口占用情况。

启动 Tomcat:

cd /usr/local/tomcat9/bin
sudo -u tomcat ./startup.sh

如果看到 Tomcat started 表示脚本执行完成,但不代表服务一定启动成功。
接着检查进程和日志:

ps -ef | grep tomcat
tail -n 100 /usr/local/tomcat9/logs/catalina.out

日志中出现 Server startup in xxx ms 通常表示启动完成。
如果启动脚本一闪而过,可以改用 catalina.sh run 前台启动,直接查看报错输出。

放行端口并从浏览器验证

Tomcat 启动后,服务器本机可以用 curl 测试:

curl -I http://127.0.0.1:8080

返回 HTTP/1.1 200 说明 Tomcat 本身正常。
如果本机访问正常但外部浏览器打不开,需要检查两层:系统防火墙和云服务器安全组。

以 firewalld 为例:

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

使用 ufw 的系统执行:

sudo ufw allow 8080/tcp

云服务器还需要在控制台的安全组中放行 8080 端口的入方向规则,来源可以按需限制为管理 IP。
两处都配置后,在浏览器访问 http://服务器公网IP:8080,能看到 Tomcat 默认首页即部署成功。

常见启动失败与访问异常

Tomcat 部署后最常见的问题集中在三类:

  • 启动脚本报 JAVA_HOME 或 JRE_HOME 未设置:说明环境变量没有传给启动脚本。可以在 bin/setenv.sh 中显式写入 export JAVA_HOME=/path/to/jdk,再启动。
  • 端口被占用导致启动失败:日志中会出现 Address already in use。用 ss -tlnp | grep 端口号 找到占用进程,停止或改用其他端口。
  • 本机 curl 正常但外网打不开:优先检查安全组和系统防火墙,其次确认访问地址是否用了正确的公网 IP 和端口。

另外,如果部署的是自己的 WAR 包,访问路径通常是 http://IP:8080/包名,而不是根路径。
需要根路径访问时,可以把 WAR 包重命名为 ROOT.war 并删除原有的 webapps/ROOT 目录,重启后生效。
操作前建议备份原目录,避免默认页面丢失后无法对照。

部署完成后,建议把 Tomcat 设置为 systemd 服务或使用 catalina.sh 管理启停,并定期清理 logs 目录,避免日志占满磁盘。
验证时不要只看启动脚本的输出,以日志中的启动完成记录和实际 HTTP 访问结果为准。

分享到:
上一篇
Apache 和 Nginx 选哪个?从并发模型到实际场景的对比
下一篇
负载均衡有没有必要?从单机瓶颈到高可用的判断方法
1
系统公告

关于香港云优质服务器IP地址更换的通知

尊敬的客户: 因原IP运营商大幅涨价,为避免成本转嫁至用户,我司决定更换IP服务商。本次更换后,您的续费价格将保持不变,且新IP网络质量与服务标准不受影响。新IP已分配至后台,即刻生效(更换的新IP都是香港原生IPv4)。 涉及 IP 段: 45.192.x.x 旧 IP 停用时间: 2026 年 12 月 1 日
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意