强大的Tomcat管理和监控工具

 2024-03-04 03:04:44  阅读 0

启动后浏览器有时会一直打开:8080/

去验证一下你的是否启动成功。 当你在ROOT应用中看到黄色三足猫的时候,你就可以放心了:启动服务没有问题。 如果请求不成功,肯定是哪里出了问题,启动异常导致默认app无法启动成功。 我们来仔细看看日志分析。

除了ROOT应用程序外,默认还提供此应用程序。

在之前的文章中我们已经分析过应用程序的实现细节

功能正常

1. 部署

管理已部署的应用程序(启动、停止应用程序、重新部署)

部署战争

通过.xml形式部署

设置到期时间

2.诊断内存泄漏等。

3.显示JVM内存信息

4. 线程状态

还有什么?

我们可以看到,这提供了几个常用但非常有限的基本功能。

使用过、、等开源J2EE应用服务器的朋友会发现,相比起来,它们都提供了功能更齐全的所谓“管理控制台”。

该管理控制台可以做的事情比上面提供的要多得多。 比如最常用的一个:8080。这个端口不够用。 我们想要添加另一个端口来响应其他请求,或者在配置ajp请求处理时,我们想要添加一个。 这时候,在J2EE管理控制台中,直接添加即可。 是的,一步一步来。

即使在部署应用程序时,您也可以选择JSP预编译()、创建数据源等。

您需要做什么来创建此操作

打开.xml,复制8080配置,更改端口,更改BIO/NIO处理,然后重新启动。 (敲黑板,这是测试现场),并且管理控制台处理不需要重启实例。 其实作为一个组件并不会互相影响,其实不用重启就可以完成,但是创建过程需要我们以编程的方式修改配置文件的内容。 直接操作内容也可以通过JMX来实现。

您说您部署了一个应用程序。 应用程序中配置了什么? Web.xml 中有 init-param 吗? 我在哪里可以看到它?

抱歉,您需要自己打开应用配置才能看到。

管理控制台的想法是总体列出当前应用程序的具体配置信息,以方便管理。

当然,还有很多不同之处...

其实在6之前,也有这样一个名为“Admin”的应用程序,其功能与应用服务器的管理控制台相当,但已不再提供。 真可惜。

当然,说了这么多,我们并没有开始不喜欢它。 毕竟,作为一个纯粹的Web、非商业产品,它还不错。

为了使用一款更易用、功能更全面的管理工具,如果官方没有提供,我们只能将目光转向第三方开源的浩瀚海洋,不断寻找?

官方wiki也指出了方法:

PSI 和 Web for .

这是一个管理和监控工具,以前称为 Probe。 由于 Probe 2006 不再更新,PSI Probe 被认为是它的 Fork 版本,并且一直更新到今天。

使用起来也非常方便。 只需在()中下载对应的war文件并部署即可。

访问时需要使用-users.xml中配置的用户来访问。

登录后是这样的:

通过上面一长串的选项卡,你可以感受到功能比应用程序更强大。 有些功能甚至可以媲美“管理控制台”的体验。

让我们看看应用程序部署。

tomcat应用场景_tomcat应用有几种方式_应用的类型

除了部署该功能外,还包括一般J2EE应用服务器中包含的“JSP预编译”功能,以加快应用响应速度。 还有一个选项可以清除工作。

直接在页面查看日志

tomcat应用有几种方式_tomcat应用场景_应用的类型

对于日志文件,可以实时修改不同的日志级别来打印日志。

应用的类型_tomcat应用场景_tomcat应用有几种方式

您可以列出当前配置、每个收到的请求等。

更多功能,快来下载探索吧! 玩得开心!

PSI背后的功能是如何实现的?

我们在上一篇文章中写到内存中有一个“特权应用程序”()

是一些可以直接访问的内部组件。 PSI 将自己设置为特权应用程序。 同时,对于内部操作,PSI以以下形式创建不同版本的应用程序:

应用的类型_tomcat应用有几种方式_tomcat应用场景

这里就是我们熟悉的组件,PSI继承的。 通过这个之后,我们就得到了它的上层组件Host。

/**
* Main dispatcher servlet. Spring default dispatcher servlet had to be superseded to handle
* "privileged" application context features. The actual requirement is to capture passed Wrapper
* instance into ContainerWrapperBean. Wrapper instance is our gateway to Tomcat.
*/
@WebServlet
public class ProbeServlet extends DispatcherServlet implements ContainerServlet {

将注册于

// Set probe servlet
ServletRegistration.Dynamic probe = servletContext.addServlet("probe", ProbeServlet.class);

所以拿到这些组件之后,在操作应用部署、检索等内容的时候,其实和我自己是一样的。

所以如果要开发管理工具,这也是一个实现思路。

通过 JMX 的 MBean,()

一种是通过 PSI 的想法。

标签: 应用 部署 操作

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码