实用科技屋
霓虹主题四 · 更硬核的阅读氛围

手把手教你用Tomcat部署War包

发布时间:2026-01-12 03:40:52 阅读:22 次

在公司做项目上线的时候,经常遇到要把开发好的Java Web应用扔到服务器上跑起来。最常见的做法就是把打好的war文件丢进Tomcat,让它自动解压运行。这个过程听起来简单,但真动手时,不少人会在权限、路径或者配置上踩坑。

什么是War包?

War(Web Application Archive)是Java Web应用的标准打包格式,里面包含了JSP、Servlet、配置文件、静态资源等所有内容。就像你把一个网站的所有零件装进一个盒子里,交给Tomcat来组装。

准备你的Tomcat环境

确保服务器上已经安装了Java,并且设置了JAVA_HOME环境变量。然后下载对应版本的Tomcat,解压到你喜欢的目录,比如 /opt/tomcat。启动脚本一般在 bin 目录下:

cd /opt/tomcat/bin
./startup.sh

看到控制台输出“Server startup in XXX ms”,说明Tomcat已经跑起来了。浏览器访问 http://服务器IP:8080 能看到猫的图标,就表示一切正常。

部署War包的两种方式

方式一:直接复制到webapps目录

这是最简单粗暴的方法。把你的应用打成 myapp.war,然后复制到 tomcat/webapps/ 目录下:

cp myapp.war /opt/tomcat/webapps/

Tomcat会自动检测到新文件,解压成同名文件夹(比如 myapp),并加载应用。过几秒后,访问 http://IP:8080/myapp 就能看到页面了。

方式二:通过Manager页面上传

如果你不方便登录服务器,可以用Tomcat自带的管理界面。先确认 conf/tomcat-users.xml 里有管理员账号:

<role rolename="manager-gui" />
<user username="admin" password="123456" roles="manager-gui" />

重启Tomcat后,访问 http://IP:8080/manager/html,输入账号密码,就能看到上传框。选择war文件,点部署,搞定。

常见问题排查

如果页面打不开,先看日志。Tomcat的日志都在 logs 目录下,重点关注 catalina.out 和应用自己的log文件。

比如出现 java.lang.OutOfMemoryError,可能是堆内存不够,可以在启动脚本里加JVM参数:

export JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"

还有人遇到上传war包后名字变成乱码,多半是Linux系统字符集设置不对,建议统一用英文命名,别带中文和空格。

另外,如果应用依赖某些本地库或配置文件,记得提前放好路径,别指望Tomcat能帮你找。

小技巧:热部署与清理缓存

开发阶段频繁更新,可以直接删掉 webapps 下的解压目录和war包,再扔新的进去。Tomcat会重新加载。注意清掉 work 目录下的JSP编译文件,避免旧代码残留:

rm -rf /opt/tomcat/work/*

这样能避免改了JSP却看不到效果的尴尬。

部署这事儿,说白了就是细心加经验。多练几次,就知道哪些坑一定会踩,提前绕开就行。