加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

一文带你详解相识Tomcat的Server设置!

发布时间:2018-11-14 06:47:20 所属栏目:业界 来源:Tomcat
导读:媒介 Tomcat附属于Apache基金会,是开源的轻量级Web应用处事器,行使很是普及。server.xml是Tomcat中最重要的设置文件,server.xml的每一个元素都对应了Tomcat中的一个组件;通过对xml文件中元素的设置,可以实现对Tomcat中各个组件的节制。因此,进修serve

以第一部门的server.xml为例,多个Service的设置如下:

一文带你详解相识Tomcat的Server设置!

再将原webapps下的docs目次拷贝到webapps2中,则通过如下两个接口都可以会见docs应用:

http://localhost:8080/docs/

http://localhost:8084/docs/

五、其他组件

除焦点组件外,server.xml中还可以设置许多其他组件。下面只先容第一部门例子中呈现的组件,假如要相识更多内容,可以查察Tomcat官方文档。

1、Listener

一文带你详解相识Tomcat的Server设置!

Listener(即监听器)界说的组件,可以在特定变乱产生时执行特定的操纵;被监听的变乱凡是是Tomcat的启动和遏制。

监听器可以在Server、Engine、Host或Context中,本例中的监听器都是在Server中。现实上,本例中界说的6个监听器,都只能存在于Server组件中。监听器不应承内嵌其他组件。

监听器必要设置的最重要的属性是className,该属性划定了监听器的详细实现类,该类必需实现了org.apache.catalina.LifecycleListener接口。

下面依次先容例子中设置的监听器:

  • VersionLoggerListener:当Tomcat启动时,该监听器记录Tomcat、Java和操纵体系的信息。该监听器必需是设置的第一个监听器。
  • AprLifecycleListener:Tomcat启动时,搜查APR库,假如存在则加载。APR,即Apache Portable Runtime,是Apache可移植运行库,可以实现高可扩展性、高机能,以及与当地处事器技能更好的集成。
  • JasperListener:在Web应用启动之前初始化Jasper,Jasper是JSP引擎,把JVM不熟悉的JSP文件理会成java文件,然后编译成class文件供JVM行使。
  • JreMemoryLeakPreventionListener:与类加载器导致的内存泄漏有关。
  • GlobalResourcesLifecycleListener:通过该监听器,初始化< GlobalNamingResources>标签中界说的全局JNDI资源;假如没有该监听器,任何全局资源都不能行使。< GlobalNamingResources>将在后文先容。
  • ThreadLocalLeakPreventionListener:当Web应用因thread-local导致的内存泄漏而要遏制时,该监听器会触发线程池中线程的更新。当线程执行完使命被收回线程池时,活泼线程会一个一个的更新。只有当Web应用(即Context元素)的renewThreadsWhenStoppingContext属性配置为true时,该监听器才有用。

2、GlobalNamingResources与Realm

第一部门的例子中,Engine组件下界说了Realm组件:

一文带你详解相识Tomcat的Server设置!

Realm,可以把它领略成“域”;Realm提供了一种用户暗码与web应用的映射相关,从而到达脚色安详打点的浸染。在本例中,Realm的设置行使name为UserDatabase的资源实现。而该资源在Server元素中行使GlobalNamingResources设置:

一文带你详解相识Tomcat的Server设置!

GlobalNamingResources元素界说了全局资源,通过设置可以看出,该设置是通过读取$TOMCAT_HOME/ conf/tomcat-users.xml实现的。

关于Tomcat域打点的更多内容,可以参考:Realm域打点

3、Valve

在第一部门的例子中,Host元素内界说了Valve组件:

一文带你详解相识Tomcat的Server设置!

单词Valve的意思是“阀门”,在Tomcat中代表了哀求处理赏罚流水线上的一个组件;Valve可以与Tomcat的容器(Engine、Host或Context)关联。

差异的Valve有差异的特征,下面先容一下本例中呈现的AccessLogValve。

AccessLogValve的浸染是通过日记记录其地址的容器中处理赏罚的全部哀求,在本例中,Valve放在Host下,便可以记录该Host处理赏罚的全部哀求。AccessLogValve记录的日记就是会见日记,天天的哀求会写到一个日记文件里。AccessLogValve可以与Engine、Host或Context关联;在本例中,只有一个Engine,Engine下只有一个Host,Host下只有一个Context,因此AccessLogValve放在三个容器下的浸染着实是相同的。

本例的AccessLogValve属性的设置,行使的是默认的设置;下面先容AccessLogValve中各个属性的浸染:

(1)className:划定了Valve的范例,是最重要的属性;本例中,通过该属性划定了这是一个AccessLogValve。

(2)directory:指定日记存储的位置,本例中,日记存储在$TOMCAT_HOME/logs目次下。

(3)prefix:指定了日记文件的前缀。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读