Tomcat6.0 管理器配置

最近忙着毕业答辩,填写材料,好多事情都给耽搁了!一个月都没有继续翻译tomcat,这回有点时间赶紧补上。 这部分,其实对开发者或者tomcat管理者来说,只要会登录页面管理器或者使用写简单的http就可以了,如果想要通过java方法调用,那还需要看一些API:   这里就简单介绍下如何通过页面进行tomcat的管理。

Tomcat管理器是什么?

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

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

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

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

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

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

 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的大体过程如下:

  由于管理器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

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

如何通过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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Snova云数仓

Greenplum的HA实践

GP集群的 Primary MasterA节点部署一个备份节点,即Slava Master B节点。

8466
来自专栏九彩拼盘的叨叨叨

CanIUse 命令行工具介绍

注意:如果使用的是Windows系统,需要在Git的命令行执行上述命令。否则会报Git Not Found的错。

631
来自专栏我是攻城师

如何监控你的Hadoop+Hbase集群?

3594
来自专栏FreeBuf

通过SSTI漏洞获取服务器远程Shell

本文我将为大家演示,如何利用服务器端模板注入(SSTI)漏洞,来获取应用托管服务器上的shell。

2922
来自专栏晓晨的专栏

Jenkins持续集成演示

1567
来自专栏Web项目聚集地

MyBatis-逆向工程「Generator使用指南」

当你利用搜索引擎搜索Maven会出来很多名词:对象模型、标准集合、依赖管理系统这是啥啊?差不多得你会用了Maven才会理解这些名称吧,我找到了一个博主的博客

1422
来自专栏石奈子的Java之路

原 Intellij IDEA必要条件

1615
来自专栏Script Boy (CN-SIMO)

U盘安装Kali 出现cd-rom无法挂载 已解决

用U盘安装Kali Linux的过程中,出现cd-rom无法挂载的现象,百度坑比啊,醉了。 下面亲测成功 出现无法挂载后,选择执行shell 第一步:df -m...

4360
来自专栏懒人开发

bpkg工具

最近接手一个项目 本来是jenkinsfile相关, 但是由于这里很多实现都是用的shell 并且还是用的 bpkg 做的管理, 再在bpkg基础上, 写了...

1763
来自专栏北京马哥教育

Redis 集群教程

本文档是Redis集群的入门教程, 从用户的角度介绍了设置、测试和操作集群的方法。 本教程不包含晦涩难懂的分布式概念, 也没有像Redis 集群规范那样包含Re...

2977

扫码关注云+社区

领取腾讯云代金券