【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 @ 2018-01-27 22:44  QiaoZhi  阅读(4439)  评论(0编辑  收藏  举报