`
mysoko
  • 浏览: 35736 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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以逗号分隔

 

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

 

 

分享到:
评论

相关推荐

    apache-tomcat

    默认情况下,这个应用是受保护的,需要在`conf/tomcat-users.xml`中添加用户角色和权限。 **7. 日志和调试** Tomcat的日志信息存储在`logs`目录下,包括`catalina.out`和其他特定组件的日志文件。通过调整`logging....

    Eclipse TPTP

    这不仅包括了基本的CPU和内存使用情况监控,还包括了更高级的功能,如线程分析、JVM参数调整、GC(垃圾回收)行为分析等,这些都是进行性能调优时不可或缺的工具。 **标签**中提到的“Eclipse”、“Tomcat”、...

    WEB服务器性能调优

    对于轻量级服务器Tomcat,`Tomcat性能调优.doc`会提供针对它的特定调优技巧,这可能涉及调整Tomcat的线程池、JVM配置、日志设置以及减少上下文启动时间等方面。 `自动执行 Java 性能优化.doc`可能涵盖了一些自动化...

    Java虚拟机

    第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁...

    使用java企业级技术开发大型系统课程ppt

    13. **性能优化与监控**: 讲解性能调优策略,如JVM内存管理、线程分析、日志记录和监控工具(如JMX和VisualVM)的使用,以确保系统的高效运行。 通过这个课程,学员不仅可以掌握Java企业级开发的技术栈,还能了解到...

    AppDynamics安装手册

    ### AppDynamics安装手册知识点详解 #### 一、AppDynamics基本信息 ...以上是对AppDynamics安装手册中给出信息的详细解读与补充。希望这些内容能够帮助您更好地理解AppDynamics的安装与使用过程。

    面试宝典-v4.0

    - JVM内存区域划分:涵盖了JVM运行时数据区的构成,包括堆、栈、方法区、程序计数器和本地方法栈。 - 类加载:介绍了类的生命周期,包括加载、验证、准备、解析、初始化等步骤。 - 对象的创建过程:涉及到new关键字...

    java最新面试宝典

    **2.1 JVM内存区域划分** - **知识点概述:** - 程序计数器的作用。 - 虚拟机栈的特性。 - 本地方法栈的功能。 - 堆内存的分配策略。 - 方法区与元空间的存储机制。 - 运行时常量池的使用。 - **面试考察要点...

    java开源包8

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java面试题

    答:运行时异常时(JVM)java虚拟机在运行过程中发生的问题,比如:内存溢出等问题。这类异常没法要求程序员去一一捕获并抛出,一般异常是Java类库或程序员自己写的代码发生的错误,这类异常可以由我们去一一捕获并...

    java开源包1

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包11

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包2

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包3

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包6

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包5

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包10

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包4

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包7

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包9

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

Global site tag (gtag.js) - Google Analytics