在部署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="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_homewebappsmanagerWEB-INFweb.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:imagesemployeeInPhotos" debug="0"/>
现在只需要
对于linux下的目录配置虚拟路径如下:
总结:
以前往服务器部署都是将war包复制到服务器上,然后从服务器拷贝到webapps目录,现在可以直接在本地利用tomcat自带的manager项目部署项目(undeploy删掉旧的项目,)。manager项目也可以关闭开启项目,这对于虚拟目录比如获取图片的项目非常有用。
manager项目在undeploy的时候会删掉webapps目录下的war包与目录。
重新部署相当于直接往webapps目录下传文件(可以从本地管理远程的tomcat项目,也就是直接从本地部署到服务器,对linux服务器也有效,linux服务器注意代码中路径/与windows下的区别)