Tomcat控制台操作及应用部署介绍

本文总结一些有关Tomcat控制台的操作,以及怎么使用控制台部署应用,虽然我们一般tomcat用作本地开发测试居多,并且往往都是直接将应用放到webapps中让tomcat在启动的时候自动部署,但是知道tomcat的控制台界面操作也是有必要的。

本文使用的tomcat版本是8.0.24,从官网下载并解压以后,webapps目录下会有docs、examples、host-manager、manager、ROOT这几个目录,不要将它们删除。解压以后,启动tomcat,然后在浏览器中输入http://localhost:8080/进入首页,结果如下图1所示:

Tomcat欢迎首页

图1:Tomcat欢迎首页

如果出现了上面的界面,则说明tomcat安装且启动成功了。如上图1所示,在右上角的红色框内显示了3个控制台:一个是Server Status控制台,另一个是Manager App控制台,还有一个是Host Manager控制台。Server Status控制台用于监控服务器的状态,而Manager App控制台可以部署、监控Web应用,我们通常使用Manager App控制台即可。

点击Manager App控制台,会弹出一个登录界面,这些控制台都是要输入用户名和密码才可以登录的,不过刚安装的tomcat默认都是没有用户名和密码的,所以无法登录。控制台和密码是通过tomcat的JAAS(Java Authentication Authorization Service,即java验证和授权服务)控制的,JAAS用于控制对java web应用的授权访问。

webapps路径是web应用的存放位置,而Manager App控制台对应的web应用也是放在该路径下,进入webapps/manager/WEB-INF下,该路径下存放了Manager应用的配置文件,用编辑器打开web.xml文件。

该web.xml中有如下部分的内容:

<!-- Define a Security Constraint on this Application -->
<!-- NOTE:  None of these roles are present in the default users file -->
<security-constraint>
  <!-- 访问/html/*资源需要manager-gui角色 -->
  <web-resource-collection>
    <web-resource-name>HTML Manager interface (for humans)</web-resource-name>
    <url-pattern>/html/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
     <role-name>manager-gui</role-name>
  </auth-constraint>
</security-constraint>
<security-constraint>
  <!-- 访问/text/*资源需要manager-script角色 -->
  <web-resource-collection>
    <web-resource-name>Text Manager interface (for scripts)</web-resource-name>
    <url-pattern>/text/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
     <role-name>manager-script</role-name>
  </auth-constraint>
</security-constraint>
<security-constraint>
  <!-- 访问/jmxproxy/*资源需要manager-jmx角色 -->
  <web-resource-collection>
    <web-resource-name>JMX Proxy interface</web-resource-name>
    <url-pattern>/jmxproxy/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
     <role-name>manager-jmx</role-name>
  </auth-constraint>
</security-constraint>
<security-constraint>
  <!-- 访问/status/*资源需要manager-gui、manager-script、manager-jmx、manager-status角色中的任意一个 -->
  <web-resource-collection>
    <web-resource-name>Status interface</web-resource-name>
    <url-pattern>/status/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
     <role-name>manager-gui</role-name>
     <role-name>manager-script</role-name>
     <role-name>manager-jmx</role-name>
     <role-name>manager-status</role-name>
  </auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<!-- BASIC表明使用弹窗式窗口登录 -->
<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>Tomcat Manager Application</realm-name>
</login-config>

通过上面的配置文件可以知道:登录Manager控制台可能需要不同的manager角色,通常需要访问匹配/text/*、/status/*的资源,因此为该用户分配一个manager-gui角色即可。

Tomcat默认采用文件安全域,即以文件存放用户名和密码,Tomcat的用户由conf路径下的tomcat-users.xml文件控制,新安装的tomcat该文件中默认没有配置任何用户,为了正常登录控制台,可以通过修改tomcat-users.xml文件来增加用户,并让该用户属于manager角色即可。Tomcat允许在<tomcat-users>元素中增加<user>元素来增加用户,将tomcat-users.xml文件内容修改如下:

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users version="1.0" xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd">
  <!-- 增加一个角色名,指定角色名即可 -->
  <role rolename="manager-gui" />
  <!-- 增加一个用户名,指定用户名、密码和角色即可 -->
  <user username="manager" password="manager" roles="manager-gui" />
</tomcat-users>

上面的配置文件表示增加了一个用户名为manager、密码为manager的用户,角色属于manager-gui,这样我们就可以使用该用户登录控制台了,记得修改完配置文件以后,重新启动下tomcat服务器,以确保配置文件生效。

Manager控制台

图2:Manager控制台

如上图2所示,可以在Manager控制台中查看已经部署的应用,并且可以Start、Stop、Reload、Undeploy等操作。同时,也可以Deploy新的应用。

本文标题:Tomcat控制台操作及应用部署介绍

本文链接:http://yedward.net/?id=329

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章