Tomcat6.0 管理器配置

最近忙着毕业答辩,填写材料,好多事情都给耽搁了!一个月都没有继续翻译tomcat,这回有点时间赶紧补上。

这部分,其实对开发者或者tomcat管理者来说,只要会登录页面管理器或者使用写简单的http就可以了,如果想要通过java方法调用,那还需要看一些API:

  这里就简单介绍下如何通过页面进行tomcat的管理。

Tomcat管理器是什么?

  tomcat经过不断的沉淀,不仅仅是个JSP和Servlet的容器,它也可以当做一个生产环境的服务器来使用,国外的很多大型企业也都有使用Tomcat的例子。

  因此,对于生产环境的web服务器来说,在不关闭或者重启服务器的情况下,部署或者停止某些应用是很必要的。

  通过tomcat管理器就可以做到这一点。

  因此,为了支持这个功能,tomcat在默认的下载包中webapps目录下包含了一个manager应用(这个是默认就有的)。

Tomcat6.0 管理器配置

  用户就是通过访问这个应用,来控制其他的应用的。

  这个应用主要包括以下的 功能 

  1 根据上传的war包部署文件

  2 通过配置上下文路径,部署文件

  3 列出当前所有部署的应用,以及其会话信息

  4 当/WEB-INF/classes和/WEB-INF/lib有修改时,重新加载应用

  5 列出系统以及JVM的属性值

  6 列出可用的JNDI资源

  7 列出数据库中的安全角色

  8 开启关闭应用

  9 关闭正在运行的应用

  10 解除应用的部署,删除其目录

如何配置tomcat管理器?

  tomcat支持多种管理方式:

  1 manager-gui 通过html页面管理(由于管理器应用使用CSRF方式配置,所以使用了这种方式,就无法使用2、3方式)

  2 manager-script 通过文本管理

  3 manager-jmx 通过JMX管理

  4 manager-status 通过只读接口管理

  其中通过web页面也就是GUI来管理tomcat的大体过程如下:

Tomcat6.0 管理器配置

  由于管理器manager应用,不是任何人都可以登录的,因此需要配置用户密码:

  修改tomcat下conf下的tomcat-users.xml文件

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<user username="xingoo" password="test" roles="manager"/>
</tomcat-users>

  添加user和role标签,注意roles里面的角色名字,必须包含manager

  登录后的配置界面如下,剩下的点来点去的,就不多啰嗦了。

Tomcat6.0 管理器配置

如何通过http报文获取管理器信息?

  也可以使用http报文获取tomcat的信息,例如:

http://{host}:{port}/manager/{command}?{parameters}

  例如发布应用程序,可以使用:

http://localhost:8080/manager/deploy?path=/foo

  其他的可以参考原文官方手册,这里一般不适用这种方式,因此也不过多的研究了。

一些疑问!有待解决

  官方文档中,可以配置管理器登录的IP或者域名限制,实在manager.xml中,配置如下的信息:

<Context docBase="${catalina.home}/webapps/manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="49.140.69.48"/>
</Context>

  可惜测试了下,没好使。其他IP仍然可以访问,很纳闷!

  这个问题还要多多指教,之后也会更新原因。

参考

【1】Tomcat6.0 Manager:http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html

上一篇:Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备四)


下一篇:javascript 数组对象与嵌套循环写法