如何部署tomcat:两种部署方式对比
如何部署tomcat分为绿色解压部署和安装包部署,你需要先准备匹配版本的JDK,Tomcat8及以上推荐JDK8,Tomcat10需要JDK11及以上,解压版适合临时测试、多版本切换,安装包版适合Windows后台常驻服务,Linux服务器线上环境优先选解压版,部署前确认服务器8080端口未被占用,防火墙放行端口,部署完成后访问localhost:8080即可验证,该方案适合有基础命令行操作能力的运维、开发人员,纯新手不建议直接在公网服务器部署,容易出现权限和安全配置疏漏。
tomcat环境准备
先下载对应系统的Tomcat压缩包,从Apache官网获取文件,避免第三方修改包。解压版无需执行安装程序,解压路径不要包含中文、空格,Windows示例路径D:\tomcat9,Linux示例路径/usr/local/tomcat9。配置JAVA_HOME环境变量,变量值指向JDK根目录,不是bin目录,Tomcat启动脚本会读取这个变量识别Java环境,只配置PATH会出现启动失败。
检查端口占用。
tomcat解压部署操作
Windows系统进入tomcat的bin目录,双击startup.bat启动,弹出黑窗口代表启动进程运行,关闭窗口就停止服务;Linux系统在bin目录执行chmod+x*.sh赋予脚本执行权限,再运行./startup.sh后台启动,查看日志用tail-flogs/catalina.out,日志里出现Serverstartup代表启动成功。关闭服务Windows执行shutdown.bat,Linux执行./shutdown.sh,不要直接强制杀掉进程,容易造成文件锁异常。
项目war包放入webapps目录,Tomcat会自动解压war包并发布,访问地址为ip:8080/项目上下文;如果你不想自动解压,可以修改conf/server.xml配置,关闭自动部署开关。自定义端口同样在server.xml中修改Connector节点的port属性,修改后重启Tomcat配置才能生效。
tomcat服务化部署
Windows环境可以通过bin目录下service.bat安装成系统服务,执行service.batinstall命令,之后在系统服务面板设置开机自启,不用每次手动启动脚本。Linux环境不推荐原生脚本做常驻服务,你可以编写systemd服务文件,配置WorkingDirectory、ExecStart、ExecStop参数,设置开机自启,方便统一管理进程和日志输出。
这里对比两种主流部署方案的差异:
| 部署方案 | 适用场景 | 开机自启 | 操作难度 |
|---|---|---|---|
| 解压脚本启动 | 本地测试、临时调试 | 不自带 | 低 |
| 系统服务部署 | 线上服务器、长期运行 | 支持 | 中 |
该方法的适用边界是,公网直接暴露Tomcat默认端口时,缺少前置安全组件,仅依靠Tomcat自带配置防护能力有限,生产环境建议前端搭配Nginx反向代理,隐藏后端服务端口,降低直接暴露带来的访问风险。
conf目录下的tomcat-users.xml用来配置后台管理账号,添加user节点设置role和password,配置完成重启才能登录管理后台,不要在生产环境使用弱口令,管理后台IP最好做访问限制。
日志文件统一放在logs文件夹,catalina.out是核心输出日志,项目报错、启动异常优先查看这个文件,日志可以按大小或者日期切割,防止单日志文件体积持续膨胀占用磁盘空间。
