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

Tomcat 的 Server 文件设置详解!

发布时间:2018-10-13 08:34:55 所属栏目:业界 来源:博客园
导读:【新产物上线啦】51CTO播客,随时随地,碎片化进修 媒介 Tomcat附属于Apache基金会,是开源的轻量级Web应用处事器,行使很是普及。server.xml是Tomcat中最重要的设置文件,server.xml的每一个元素都对应了Tomcat中的一个组件;通过对xml文件中元素的设置,可

Service中的Connector组件可以吸取特定端口的哀求,因此,当Tomcat启动时,Service组件就会监听特定的端口。在第一部门的例子中,Catalina这个Service监听了8080端口(基于HTTP协议)和8009端口(基于AJP协议)。当哀求进来时,Tomcat便可以按照协媾和端标语选定处理赏罚哀求的Service;Service一旦选定,Engine也就确定。

通过在Server中设置多个Service,可以实现通过差异的端标语来会见统一台呆板上陈设的差异应用。

(2)按照域名或IP地点选定Host

Service确定后,Tomcat在Service中探求名称与域名/IP地点匹配的Host处理赏罚该哀求。假如没有找到,则行使Engine中指定的defaultHost来处理赏罚该哀求。在第一部门的例子中,因为只有一个Host(name属性为localhost),因此该Service/Engine的全部哀求都交给该Host处理赏罚。

(3)按照URI选定Context/Web应用

这一点在Context一节有具体的声名:Tomcat按照应用的 path属性与URI的匹配水平来选择Web应用处理赏罚响应哀求,这里不再赘述。

(4)举例

以哀求http://localhost:8080/app1/index.html为例,起首通过协媾和端标语(http和8080)选定Service;然后通过主机名(localhost)选定Host;然后通过uri(/app1/index.html)选定Web应用。

3、怎样设置多个处事

通过在Server中设置多个Service处事,可以实现通过差异的端标语来会见统一台呆板上陈设的差异Web应用。

在server.xml中设置多处事的要领很是简朴,分为以下几步:

(1)复制元素,放在当前后头。

(2)修改端标语:按照必要监听的端标语修改元素的port属性;必需确保该端口没有被其他历程占用,不然Tomcat启动时会报错,而无法通过该端口会见Web应用。

以Win7为例,可以用如下要领找出某个端口是否被其他历程占用:netstat -aon|findstr "8081"发明8081端口被PID为2064的历程占用,tasklist |findstr "2064"发明该历程为FrameworkService.exe(这是McAfee杀毒软件的历程)。

Tomcat 的 Server 文件设置详解!

(3)修改Service和Engine的name属性

(4)修改Host的appBase属性(如webapps2)

(5)Web应用如故行使自动陈设

(6)将要陈设的Web应用(WAR包或应用目次)拷贝到新的appBase下。

以第一部门的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接口。

点此查察一分钟设置tomcat的https教程。

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

  • 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

(编辑:湖南网)

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

热点阅读