公司新项目开发完,打包成war文件,接下来就是部署到服务器上。作为后端开发,最常用的容器就是Tomcat了。很多人第一次操作时容易卡在部署环节,其实只要步骤清楚,几分钟就能搞定。
准备阶段:确认环境
先确保你的服务器已经安装好Java和Tomcat。打开终端输入java -version,能看到版本号就说明JDK没问题。然后启动Tomcat,访问http://localhost:8080,如果看到猫的页面,说明Tomcat运行正常。
获取war包并放到webapps目录
把开发团队给你的xxx.war文件复制到Tomcat安装目录下的webapps文件夹里。比如你放在/opt/tomcat/webapps/下面,名字叫myapp.war。
只要war包一放进去,Tomcat会自动解压它,生成一个同名的文件夹,比如myapp。这个过程可能需要几秒到几十秒,取决于war包大小。
访问应用看看效果
等解压完成后,在浏览器输入http://localhost:8080/myapp,如果能打开页面,说明部署成功了。这时候你可能会遇到404,别急,检查一下war包是不是完整,或者看下控制台有没有报错日志。
手动部署方式(可选)
有时候不想自动部署,可以关掉自动扫描。修改conf/server.xml里的<Host>标签,加上deployOnStartup="false" autoDeploy="false"。
然后再通过Manager App来上传war包。登录Tomcat Manager页面,找到“War file to deploy”选项,选择本地的war文件上传即可。
常见问题处理
如果页面打不开,第一件事是去看logs/catalina.out日志文件。经常遇到的问题有:
- JDK版本不匹配,比如项目用Java 17编译,但服务器只装了Java 8
- 数据库连接配置错了,war包虽然跑起来了,但连不上数据源
- 端口被占用,改
conf/server.xml里的Connector端口就行
改完代码重新部署
开发改了个bug,又发了一个新版war包。直接替换掉原来的war文件,Tomcat会自动重新解压加载。不过建议先把旧的目录和war都删干净,避免缓存问题。
也可以在Manager页面先“Undeploy”,再重新上传,这样更干净。
小技巧:用脚本快速部署
如果你经常要部署,写个shell脚本省事。比如:
#!/bin/bash
TOMCAT=/opt/tomcat
APP=myapp
rm -rf $TOMCAT/webapps/$APP*
cp myapp-new.war $TOMCAT/webapps/myapp.war
$TOMCAT/bin/startup.sh
以后只需要运行这个脚本,自动清理、复制、启动,效率高很多。
部署war包这事儿,刚开始觉得神秘,操作几次就发现也就那么回事。关键是多动手,遇到报错别慌,看日志一步步排查,很快就能上手。