xampp 怎么启动tomcat_强烈推荐一款功能强大的Tomcat 管理监控工具

专注于Java领域优质技术号,欢迎关注

原创: 侯树成 Tomcat那些事儿

9dbf55b24058fc315256fb8b44c8e62b.png

启动 Tomcat完毕 ,有些时候总会打开浏览器 http://localhost:8080/

去验证你的Tomcat是否启动成功,看到ROOT应用里那个黄黄的三条腿的猫,你就放心了:服务启动没问题。如果请求不成功,那一定是哪里出了问题,启动异常才导致这个默认自带的app没有启动成功。从而进一步看log分析。

除了ROOT应用外,Tomcat还默认提供了 Manager这个应用。

在功能上 Manager 可以

1. 部署

管理已部署的应用(启、停应用,重部署)

部署war

通过context.xml形式部署

设置Session过期

2. 诊断内存泄露等

3. 显示 JVM 内存信息

4. Connector 线程的状态

还有什么呢?

我们看到, Tomcat 的这个Manager提供的,是比较常用,但很有限的几个基础功能。

使用过 比如 Weblogic, WebSphere, 开源的 GlassFish 等J2EE 应用服务器的朋友会发现,与Tomcat 的Manager 相比, 他们都提供了一个功能更完备的所谓的「管理控制台」。

这个管理控制台,可以做的事情,比上面 Manager 提供的就丰富多了。比如最常用的一个: 8080 这个端口不够用,我们想再加一个端口响应其他的请求,或者在配置ajp请求处理时,我们想加一个 Connector ,这个时候在 J2EE的管理控制台里,直接操作添加即可,一步步来。

甚至应用部署的时候,可以选择JSP的预编译(JSP预编译,加速你的应用),创建数据源等等。

在 Tomcat 里对于创建 Connector 这个操作,你需要怎么做?

打开server.xml, 把 8080这个配置拷一份,改改端口,改改BIO/NIO的处理,重启Tomcat。(敲黑板,这里是考点哦),而管理控制台一类的处理时不需要重启实例的。实质上Connector 做为一个组件与 Container 是不互相影响的,其实 Tomcat 也能做到不需要重启,只是这个创建 Connector 的过程,需要我们以编程的方式,来对配置文件的内容进行Marshaller/Unmarshaller。直接操作Container的内容,也可以通过JMX 来实现。

你说你部署了一个应用,该应用里配置了哪些Servlet、哪些Listener? Web.xml里有没有init-param,去哪能看看么?

不好意思,需要自己打开应用配置来看。

管理控制台的思路,一般会将当前应用具体的配置信息列出来,方便管理。

当然,区别还有很多...

其实,在Tomcat 6之前,也是有这样一款名为「Tomcat Admin」的应用,功能可以媲美应用服务器的管理控制台,不过后来不再提供了。可惜呀。

当然说了这么多,我们并不是开始嫌弃 Tomcat了。毕竟做为一个纯的Web Container,而且是非商业产品,也算不错了。

为了能使用一个较好用,功能也较全面的 Tomcat 管理工具,官方不提供我们只能把目光投向巨大的第三方开源之海,埋头苦找么?

官方的wiki里也我们指了条路:

PSI Probe is advanced manager and monitor web application for Apache Tomcat.

这是一款 Tomcat 管理和监控工具,前身是 Lambda Probe。由于 Lambda Probe 2006不再更新,所以 PSI Probe 算是对其的一个 Fork 版本并一直更新至今。

使用也很方便,在github(https://github.com/psi-probe/psi-probe) 下载对应的war文件,部署即可。

访问的时候,和 Manager 一样,也是需要使用配置在 tomcat-users.xml 中的用户来访问。

登录后是这个样子:

b33602488be58a0b915ae7e42e43f14c.png

通过上面一长串的tab,就能感受到功能上要比 Manager应用要强大吧。甚至部分功能能追平「管理控制台」的体验了。

来看应用部署这一块

b7177d43a719f0ab874b7668daf34ff3.png

除了部署这个功能外,还包含一般J2EE的应用服务器包含的功能「JSP预编译」来加速应用的响应。还有清空work的选项。

直接页面看日志

d0e84aa55257ce67bf8e00fdeb0d7be5.png

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

a32e5874861a2d5325573b83f135a3a3.png

可以将当前配置的 Connector列出来,各个 Connector 收到的请求等

bbf819160551599806026a799c9f2373.png

更多的功能,下载下来探索吧! Have fun!

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

我们之前的文章写过,在 Tomcat 内存在一种「特权应用」是可以直接访问Tomcat的一些内部组件的,PSI就是把自己设置成一个特权应用,同时对于Tomcat内的操作, PSI是通过 Wrapper的形式,对不同版本的Tomcat 创建了一个Adapter

6f07b1ddf27f2077337ec76380001cc7.png

这里的 Wrapper,就是我们熟悉的Tomcat组件的那个Wrapper,PSI继承了 Spring 的DispatherServlet,通过Servlet这个Wrapper之后,再拿到其上层组件 Context、Host、Engine。

/** * 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 {

在Spring 的Initializer里将Servlet注册上去

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

所以拿到了这些组件,在操作应用的部署,获取Connector等内容时,其实就和 Tomcat 自己一样了。

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

一种通过JMX 的MBean。

一种是通过PSI这种思路。

Linux 多tomcat服务 统一安装 统一部署 工具 shell编写 1 引言 基于JAVA开发项目,随着服务的越来越多,配置文件更是眼花缭乱,每次不知道因为配置问题浪费多少时间,更不知道因为配置问题出过多少问题。多台服务器来回切换,如果服务需要依赖,启动更是问题。 1.1 目的 一次修改,统一安装;操作简单,实用高效。 1.2 范围 本项目使用范围包括: * 基于JAVA开发项目 * 项目相关服务繁多 * 服务启动有依赖关系 1.3 读者 本需求规格说明书的阅读者或其他文档干系人有平台总监、产品经理、项目总监、项目经理、开发人员、测试人员、用户体验设计人员等。 2 项目总体描述 2.1 系统总体功能框架 2.2 系统功能列表 Exec 建立信任、初始命令 初始 Tools 提供服务与服务列表 扫描提供服务列表,获取配置信息 Conf 自动获取需要修改配置 自动生成 Bin 执行脚本 提供总执行与单一执行脚本 New 存放修改后配置文件 与bak保留文件成反比 Bak 存放原始配置文件 便于问题分析 Temp 存放临时文件 临时文件将及时删除无任何冗积 Workapp 存放war包 上传war包 3 功能描述 3.1 获取配置文件 通过本系统获取配置文件非常简单,只需用户提供服务列表,其他无需操作。服务列表如下: name ip serve 服务名称 192.168.0.1 /home/tomcat_服务名称 服务名称 192.168.1.2 /home/tomcat_服务名称 服务名称 192.168.1.2 /home/tomcat_服务名称 名词解释: name :服务名称,需与war包名称一致。 ip :服务器ip地址。 serve :Tomcat部署路径。 执行脚本,“.. /unifyDeploy/conf”自动生成用户所需修改配置文件,配置文件是通过筛选后生成,所以一个服务不管需要配置多少文件,这里只生成一个,方便修改与管理。 3.2 自动化统一安装部署 自动化统一安装部署,包括:上传解压war包、同步配置、启动服务、监控服务等。 list.ll one.sh pass.war startup.sh syn.cn two.sh 部署支持统一安装于分布式安装,每个脚本可以拆分开任意组合使用,比如: 1) 一套新环境tomcat中还未部署服务,只需调整上传war包脚本顺序,先上传war后,后续操作正常执行。 2) 迭代更新,功能稍作修改,原配置项无需修改,也只需调整上传war包脚本顺序,先获取原有配置,再上传更新war包,后续操作正常执行。 3.3 优缺点描述 优点描述: * 适用于统一安装部署,也适用于单独服务安装部署。 * 保留原始备份,方便部署前后配置对比。 * 操作简单、需求扩展能力强。 不足描述: * 暂时只适用于基于tomcat服务器项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值