看网上大多数在tomcat下部署WAR包都是通过复制WAR到webapp目录然后改文件什么的。更有甚者,还写了一个上传文件的页面。其实没必要这么麻烦,tomcat自带的后台管理就可以实现。
配置
使用tomcat前需要更改配置文件,配置文件位于$CATALINA_BASE/conf/tomcat-users.xml,其中$CATALINA_BASE是你的tomcat的安装目录。
一个简单的配置示例如下:
在<tomcat-users>标签后添加
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
保存。
这里配置了一个角色名为"manager-gui",然后配置了一个用户,用户名和密码的均为tomcat,所属角色为"manager-gui"
角色名只能为以下四种。
manager-gui:访问这个HTML接口
manager-status:只能访问Server Status(服务器状态)页面
manager-script:访问本文档描述的工具友好的纯文本页面和服务器状态页面。
manager-jmx:访问JMX代理接口和服务器状态页面。
其中manager-gui是权限最高的角色。
本地WAR包部署
配置完成后,启动tomcat,打开http://localhost:8080/manager/html
输入配置的用户名和密码
即可进入Tomcat Web Application Manager 主页面
在这个页面下可以对已经部署的应用停止、卸载、重启等。
在Deploy下我们可以部署我们的WAR包
找到WAR file to deploy
点击Select WAR file to upload文件框的浏览
找到你要部署的WAR文件
然后点Deploy按钮,WAR包就部署成功了。
试试看能不能访问吧。
以上配置只能在本地部署,其他机器访问会提示无授权,需要修改如下内容
需要修改manger项目的内容,不改只允许本机
修改$TOMCAT_HOME/webapps/manager/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
在allow里加上自己的IP地址如下
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10.24.26.67" />
war包上传不成功的问题
上传war限制50M,多了会报错
修改$TOMCAT_HOME/webapps/manager/WEB-INF/web.xml
<multipart-config>
<!-- 50MB max -->
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
根据实际改成100M,即104857600
<multipart-config>
<!-- 100MB max -->
<max-file-size>104857600</max-file-size>
<max-request-size>104857600</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
注意:上传war包时,先看看有没有路径跟war包名一样的,有一样的先点Undeploy按钮卸载掉