Tomcat学习(3)-tomcat的manager和host-manager界面

时间:2022-01-09 08:28:06

Tomcat的安装好了之后,会默认带几个web应用程序

默认会提供host-manager和manager的管理界面

但是如果直接访问http://192.168.253.154:8080/manager/则会被拒绝

Tomcat学习(3)-tomcat的manager和host-manager界面


第一步需要修改/usr/local/tomcat/webapps/manager/META-INF/context.xml

原文件为

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

修改后

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.253\.\d+" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

也就是在Valve组件中的allow行 加入192\.168\.253\.\d+
其中192.168.253.0这个网段是我虚拟机的网段 根据不同可以自己调整


第二步  添加用户 

tomcat已经设置了4个特殊的角色

  • manager-gui - 访问HTML界面。
  • manager-status - 只能访问“服务器状态”页面。
  • manager-script - 这个权限是指可以执行url命令后面会演示
  • manager-jmx - 访问JMX代理接口并访问“服务器状态”页面。

修改配置文件/usr/local/tomcat/conf/tomcat-users.xml

增加下面几行

 <role rolename ="manager-gui"/>
 <role rolename ="manager-status"/>
 <role rolename ="manager-script"/>
  <user username ="Tomcat-manager" password ="manager" roles ="manager-gui,manager-status,manager-script"/>  ##设置登陆的用户密码

Tomcat学习(3)-tomcat的manager和host-manager界面

第三步重启tomcat

[root@Tomcat tomcat]# catalina.sh stop    ##停止tomcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_171
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@Tomcat tomcat]# catalina.sh start   ##启动tomcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_171
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

第四步测试manager-gui

用浏览器再次访问

Tomcat学习(3)-tomcat的manager和host-manager界面

输入账号密码   

username ="Tomcat-manager"    password ="manager"

Tomcat学习(3)-tomcat的manager和host-manager界面

就可以查看到页面了,这个是manager-gui的功能


第五步测试manager-status查看JVM状态

输入的网址http://192.168.253.154:8080/manager/status

Tomcat学习(3)-tomcat的manager和host-manager界面


第六步测试一下manager-script的功能


输入http://192.168.253.154:8080/manager/text/list

可以查看已经部署的webapp  其他命令可以查看官方文档https://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html

Tomcat学习(3)-tomcat的manager和host-manager界面


=======================================================================

host-manager这个webapp则是提供了虚拟主机的web管理界面,但是它新增的主机只存在内存中,也就是重启会消失

开启的方法与manager类似,第一修改/usr/local/tomcat/webapps/host-manager/META-INF/context.xml文件增加允许访问的ip,第二修改/usr/local/tomcat/conf/tomcat-users.xml,添加如下

 <role rolename ="admin-gui"/>
 <role rolename ="admin-script"/>
  <user username =“Tomcat-admin”password =“admin”roles =“admin-gui,admin-script”/> </ tomcat-users>

与manager不同但是类似的2个角色

admin-gui host-manager的web管理界面

admin-script host-manager的文本管理角色


测试一下管理员的GUI

Tomcat学习(3)-tomcat的manager和host-manager界面


测试一下管理脚本

http://192.168.253.154:8080/host-manager/text/list

查看可用的虚拟主机

Tomcat学习(3)-tomcat的manager和host-manager界面