【Tomcat】使用tomcat manager 管理和部署项目,本地部署项目到服务器

在部署tomcat项目的时候,除了把war文件直接拷贝到tomcat的webapp目录下,还有一种方法可以浏览器中管理和部署项目,那就是使用tomcat manager。

默认情况下,tomcat manager是不可用的,因为它的用户角色和密码并没有正确配置。
这里采用的是tomcat7.0。打开conf文件夹下的文件tomcat-user.xml
tomcat原配置
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->
这个配置给注释掉了,但是使用默认的配置也将不起作用(不知是不是从早期版本继承下来的)
修改成
<role rolename="manager-gui"/>
<user username="tomcat" password="yourpw" roles="manager-gui"/>
 
其中manager-gui用来管理项目,输入用户名密码可登陆项目管理页面localhost:8080/manager/html
其他rolename还有<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
都有各自的用途。具体请查看 localhost:8080/docs/manager-howto.html
点击页面下方的“选择文件”,选中想要部署的war文件,点击deploy,即可部署项目,成功后会提示
Message: 
OK
 
如果war文件太大,则会报错 SizeLimitExceededException,这个时候,只需修改manager项目下的配置文件即可。

配置文件位置:$tomcat_home\webapps\manager\WEB-INF\web.xml

这里默认限制了最大只有50MB而已,然后根据自己的需要修改即可,之前我就是因为一个war文件太大而启动部署失败!

<max-file-size>52428800</max-file-size>

<max-request-size>52428800</max-request-size>

这时就修改为100MB,即104857600

修改后,重启tomcat服务器,再执行之前的部署操作。
 
 
今天还遇到一个undeploy的时候没有完全删除干净,导致重新部署失败:

 应该是一些jar资源被锁定。要解决这个问题。只要在web/META-INF下建立一个context.xml文件。(哪个项目需要这样部署在哪个项目的META-INF下面新建)

<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" antiResourceLocking="true"></Context>
 把防止资源锁定的选项设置为true就可以了。

 

 

如果想配置一个虚拟路径,更不用麻烦的去server.xml中配置虚拟路径,可以直接在图像界面配置:

比如原来我们在server.xml中配置的虚拟路径:

<Context reloadable="true" path="/files/EmployeeIn" docBase="D:\images\employeeInPhotos" debug="0"/>

现在只需要

 

 

对于linux下的目录配置虚拟路径如下:

 

 

 

 

 

总结:

  以前往服务器部署都是将war包复制到服务器上,然后从服务器拷贝到webapps目录,现在可以直接在本地利用tomcat自带的manager项目部署项目(undeploy删掉旧的项目,)。manager项目也可以关闭开启项目,这对于虚拟目录比如获取图片的项目非常有用。

 

 manager项目在undeploy的时候会删掉webapps目录下的war包与目录。

 

 重新部署相当于直接往webapps目录下传文件(可以从本地管理远程的tomcat项目,也就是直接从本地部署到服务器,对linux服务器也有效,linux服务器注意代码中路径/与windows下\的区别)

 

 

posted @   QiaoZhi  阅读(4500)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示