Tomcat程序员

tomcat配置-1

2017-01-01  本文已影响148人  jacksu在简书
tomcat框架

Tomcat配置总共有两步组成,第一、编辑tomcat XML配置文件;第二、定义适当的环境变量。

Tomcat最重要的两个配置文件为server.xml和web.xml,位于$CATALINA_BASE/conf目录下。

1 Server.xml

server.xml文件是Tomcat的主配置文件,并且负责在启动时指定Tomcat的初始配置,以及定义Tomcat启动和构建的方式和顺序。 server.xml文件的元素有五个基本类别:顶层元素、连接器、容器、嵌套组件和全局设置。 这些类别中的所有元素都有许多属性,可用于微调其功能。 最常见的情况是,如果您需要对Tomcat安装进行任何重大更改,例如指定应用程序端口号,则server.xml是要编辑的文件。

1.1 Server

此元素定义单个Tomcat服务器,并且包含Logger和ContextManager配置元素。 此外,Server元素支持“port”,“shutdown”和“className”属性。

port属性用于指定Tomcat应该侦听哪些端口以进行关闭命令。shutdown属性定义要在指定端口上侦听的命令字符串以触发关闭。className属性指定应使用哪个Java类实现。

<Server port="-1" shutdown="SHUTDOWN">
</Server>

1.2 Service

此元素可嵌套在Server元素中,用于包含共享同一Engine组件的一个或多个Connector组件。 这个组件的主要功能是将这些组件定义为单个服务。
将在日志中显示的服务的名称使用Service元素的“name”属性指定。

<Service name="Catalina">
</Service >

1.3 Connectors

一个connector(或多个connectors)嵌套在service标签中,允许Catalina将来自这些端口的请求转发到单个引擎组件进行处理。 Tomcat允许定义HTTP和AJP连接器。

Http Connector

基于HTTP协议,负责建立HTTP连接。它又分为BIO Http Connector与NIO Http
Connector两种,后者提供非阻塞IO与长连接Comet支持。

AJP Connector

基于AJP协议,AJP是专门设计用来为tomcat与http服务器之间通信专门定制的协议,能提供较高的通信速度和效率。如与Apache服务器集成时,采用这个协议。

APR HTTP Connector

用C实现,通过JNI调用的。主要提升对静态资源(如HTML、图片、CSS、JS等)的访问性能。现在这个库已独立出来可用在任何项目中。Tomcat在配置APR之后性能非常强劲。

1.3.1 HTTP Connector**

此元素表示HTTP/1.1连接器,并为Catalina提供独立的Web服务器功能。 这意味着,除了执行servlet和JSP页面,Catalina能够监听请求的特定TCP端口。 定义的每个连接器表示Catalina应侦听HTTP请求的单个TCP端口。 配置HTTP连接器时,请密切注意“minSpareThreads”, “maxThreads”和“acceptCount” 属性。 “maxThreads” 属性特别重要,控制可处理超过可用线程数请求的最大数量。
将此值设置得过低会导致请求在服务器套接字中堆栈,这会在连接满时开始拒绝连接。 全面的测试将帮助你避免这个问题。

1.3.2 AJP Connector**

此元素表示能够与AJP协议通信的连接器。 这个元素的主要作用是帮助Tomcat与Apache的安装集成。 你想要这个功能的最常见的原因是如果你打算使用Apache在Tomcat前面提供静态内容。 此技术旨在为动态页面生成和负载平衡释放更多的功能,因此如果快速性能是您的应用程序的关注点,这是需要考虑的。AJP连接器也可以用于向Tomcat公开Apache的SSL处理功能。

1.4 Containers

Catalina使用这些元素将请求定向到正确的处理设备。

1.4.1 Engine

此元素与嵌套在Service元素中的一个或多个连接器结合使用,并负责处理与其父Service相关联的所有请求。 Engine元素只能在嵌套在Service元素中时使用,并且在给定的Service元素中只允许一个Engine元素。请密切关注“defaultHost”属性,该属性定义负责为主机服务请求的主机元素服务器上未在server.xml中配置的名称。 此属性必须与嵌套在相关Engine元素中的一个Host元素的名称匹配。 此外,使用“name”属性为每个引擎元素分配唯一的逻辑名称很重要。 如果server.xml文件中的单个Server元素包含多个Service元素,则需要为每个Engine元素分配唯一的名称。

<Engine name="Catalina" defaultHost="localhost"> 
</ Engine>

1.4.2 Host

此元素嵌套在Engine元素内,用于将服务器网络名称与Catalina服务器相关联。 如果有问题的虚拟主机向相关域的管理DNS注册,则此元素将仅正常工作。
Host元素最有用的功能之一是它能够包含嵌套的Alias元素,这些元素用于定义应解析到同一虚拟主机的多个网络名称。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false" deployOnStartup="false">
</ Host>

1.4.3 Context

此元素表示单个Web应用程序,并且包含用于将请求定向到适当的应用程序资源的路径信息。 当Catalina接收到请求时,它会尝试将最长的URI与给定上下文的上下文路径匹配,直到找到正确的元素为请求提供服务。 Context元素对于实用程序元素Loader,Manager,Realm,Resources和WatchedResource的每个元素最多可以有一个嵌套的实例。 尽管Tomcat允许您在“$CATALINA_BASE /conf /server.xml”中定义上下文,但通常应避免使用,因为这些配置设置需重新启动Tomcat,才可重新加载,这使得编辑上下文属性的侵入性过大。

未完待续

上一篇下一篇

猜你喜欢

热点阅读