一、准备工作
1. 环境要求
- Java JDK(推荐 JDK 8 或更高版本)
- Apache Tomcat(推荐 8.5+ 或 9.x 版本)
- WAR 包文件
2. 检查环境
# 检查Java版本
java -version
# 检查Tomcat版本
cd /path/to/tomcat/bin
./version.sh # Linux/Mac
version.bat # Windows
二、部署方式
方式1:手动部署(推荐)
步骤:
停止 Tomcat 服务
# Linux
cd /opt/tomcat/bin
./shutdown.sh
# Windows
cd C:\Tomcat\bin
shutdown.bat
备份现有应用(如需)
mv /opt/tomcat/webapps/yourapp /opt/tomcat/webapps/yourapp_backup
mv /opt/tomcat/webapps/yourapp.war /opt/tomcat/webapps/yourapp.war.bak
部署 WAR 包
# 复制WAR包到webapps目录
cp yourapp.war /opt/tomcat/webapps/
# 或者解压部署(可实时修改)
mkdir /opt/tomcat/webapps/yourapp
unzip yourapp.war -d /opt/tomcat/webapps/yourapp/
启动 Tomcat
cd /opt/tomcat/bin
./startup.sh # Linux
startup.bat # Windows
方式2:Tomcat管理界面部署
访问管理界面
http://localhost:8080/manager/html
登录认证(需要在 tomcat-users.xml 配置权限)
在 WAR file to deploy 部分上传文件
点击 Deploy
方式3:自动热部署
将 WAR 包放入 webapps 目录,Tomcat 会自动解压部署(需开启 autoDeploy)
三、配置文件说明
1. 用户权限配置(conf/tomcat-users.xml)
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="your_password"
roles="manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>
2. 应用配置(可选)
四、验证部署
1. 检查日志
tail -f /opt/tomcat/logs/catalina.out
tail -f /opt/tomcat/logs/yourapp.log
2. 访问应用
http://localhost:8080/yourapp
3. 查看管理界面状态
http://localhost:8080/manager/html/list
五、常见问题排查
1. 端口冲突
# 检查端口占用
netstat -tlnp | grep 8080 # Linux
netstat -ano | findstr 8080 # Windows
# 修改端口(conf/server.xml)
<Connector port="8080" protocol="HTTP/1.1" ... />
2. 权限问题
# Linux下给权限
chmod +x /opt/tomcat/bin/*.sh
chown -R tomcat:tomcat /opt/tomcat
3. 内存设置
# 修改 bin/catalina.sh(Linux)或 catalina.bat(Windows)
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:MaxPermSize=256m"
4. WAR包问题排查
# 检查WAR包结构
jar tf yourapp.war
# 检查web.xml
unzip -p yourapp.war WEB-INF/web.xml
六、自动化部署脚本示例
Linux Shell 脚本
#!/bin/bash
TOMCAT_HOME=/opt/tomcat
APP_NAME=yourapp
WAR_FILE=/tmp/yourapp.war
echo "Stopping Tomcat..."
$TOMCAT_HOME/bin/shutdown.sh
echo "Backup existing application..."
mv $TOMCAT_HOME/webapps/$APP_NAME.war $TOMCAT_HOME/backup/$APP_NAME_$(date +%Y%m%d%H%M%S).war
rm -rf $TOMCAT_HOME/webapps/$APP_NAME
echo "Deploying new version..."
cp $WAR_FILE $TOMCAT_HOME/webapps/$APP_NAME.war
echo "Starting Tomcat..."
$TOMCAT_HOME/bin/startup.sh
echo "Checking logs..."
tail -f $TOMCAT_HOME/logs/catalina.out
七、最佳实践建议
生产环境建议:
- 使用 Tomcat 9.x 稳定版本
- 配置 JVM 内存参数
- 启用访问日志
- 配置 HTTPS 加密
- 使用独立的 Tomcat 用户运行
部署前检查:
- 数据库连接配置
- 配置文件中的环境变量
- 依赖库版本兼容性
- 静态资源路径配置
监控建议:
- 监控 catalina.out 日志
- 监控应用访问日志
- 设置 JVM 监控
- 配置健康检查接口
这样就能完成 Tomcat WAR 包的完整部署流程。