Tomcat中监控JVM内存使用情况(问题补充)

在另一篇 《Tomcat7查看JVM内存使用情况》已经有介绍tomcat查看当前资源使用情况。

 

按照之前配置是可以正常运行,不过后来发现有个路径问题:

 

以redirect方式跳转页面,tomcat在url路径自动添加工程名。

 

当初是让host恢复到tomcat默认配置,让一个host主机加载所有工程,以便加载tomcat自带工程(root,manager...),这样势必会在redirect跳转时带有工程名区别各自项目,而forword不会。

 

具体解决方法:

1.修改代码,在redirect写完整路径,例如:http://...

2.修改tomcat虚拟主机配置

 

第一中方法,要修改所有redirect代码;

而路径一旦改变,则再次修改代码。显然不符合工程需求,则不采用。

 

第二种方法,改变tomcat配置,仅仅修改配置文件,采用:

添加虚拟主机方式

 

在webapps目录下新建tomcat目录,把tomcat自带工程(manager,docs,ROOT。。)转移至tomcat目录。

server.xml找到Engine元素,添加

 

<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost"  appBase="webapps/demo">
<Context docBase="." path="" />
...
</Host>
<Host name="tomcat.domain.com" appBase="webapps/tomcat">
<Context docBase="." path="" />
...
</Host>
</Engine>

元素engine的defaultHost属性选择一个默认主机localhost

结合apache配置

 BalancerMember http://127.0.0.1:8080/

这样默认访问路径可以是

127.0.0.1(apache host支持)

127.0.0.1:8080

或者

www.domain.com

 

把tomcat其他工程(manager.ROOT,...)配置到第二个name=“tomcat.domain.com”的虚拟主机

属性name 值在本地可以随意域名,需要本地配置相应的dns支持,如果在远程用域名的话可能很麻烦,所以我做为网站二级域名xxx.domain.com

这样可以通过路径

xxx.domain.com:8080+工程名 访问tomcat目录下的所有工程(manager,ROOT...)

 

这样,让tomcat管理与实际项目独立访问,并且可以得到监控。

如果你还在意安全问题:

tomcat管理工程所在的host配置下面代码

 

 <Context docBase="." path="" >
            <Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="127.0.0.1" deny=""/>
</Context>

allow允许访问的ip地址,多个以逗号分隔

deny拒绝访问的ip地址,多个ip以逗号分隔

 

提示:文件路径可以用自己喜欢的方式配置,不一定我的这种方式。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值