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以逗号分隔
 
提示:文件路径可以用自己喜欢的方式配置,不一定我的这种方式。
 
 
 

猜你喜欢

转载自iloveoracle.iteye.com/blog/1150081
今日推荐