首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Tomcat 配置学习札记

2013-10-25 
Tomcat 配置学习笔记Tomcat 配置学习笔记博客分类: Tomcatwebtomcatservlet虚拟主机 本文是基于Tomcat 5.5

Tomcat 配置学习笔记
Tomcat 配置学习笔记

博客分类: Tomcat
webtomcatservlet虚拟主机
本文是基于Tomcat 5.5 自带配置参考文档的学习笔记,文档路径为:
$CATALINA_HOME/webapps/tomcat-docs/config/index.html
由于本人英语水平有限,理解上难免存在偏差,如有错误的地方还望各位指正。
Server
Server元素代表了整个Catalina Servlet容器,它必须是 conf/server.xml 配置文件中的唯一最外层元素。它的属性描述了servlet容器的总体特征。

Server 元素中可以嵌入以下元素:
1)  Service:一个或多个Service元素
2)  GlobalNamingResources:配置Server的全局JNDI资源
Service
Service元素描述了用于侦听和处理请求的一个或多个Connector组件与一个唯一Engine组件的组合。在Service元素中只能嵌入一个或多个Connector元素,有且只有一个Engine元素跟在Connector元素的后面。
HTTP Connector
Connector元素根据支持的协议分为HTTP Connector 和 AJP Connector。

HTTP Connector 是支持 HTTP/1.1 协议的Connector。它让Catalina除了可以执行servlet 和JSP页面外,还可以作为一个独立的Web服务器运行。HTTP Connector侦听着服务器上特定TCP端口的连接。一个或多个HTTP Connector可以被配置到同一个Service里,并将连接转发到对应的那个唯一的Engine组件,以处理请求和创建响应。

在服务器启动的时候,Connector组件会根据配置预先创建一些请求处理线程。每个活动的请求将会占用一个线程,当预先创建的线程不够用时,在不超过最大限定的线程数的情况下,新线程会自动被创建;如果最大线程数仍不能满足请求的需要,那么新请求的连接将会被暂时挂起,等待处理中的请求完成释放出线程资源后才得以处理。如果请求连接的并发数超过允许的连接最大数,新的连接请求将会收到一个“connection refused拒绝连接”错误。
AJP Connector
AJP Connector是支持AJP协议的Connector。在集成Tomcat和Apache时使用,通常是利用Apache来处理静态内容,或者让Apache负责处理SSL协议。
AJP Connector可与Engine组件的jvmRoute 属性联合使用,实现负载均衡。
Engine
Engine是与Service关联的请求处理体系。它接收来自Connector的请求,并通过Connector将请求的响应结果传输回客户端。Engine只能唯一地跟在Connector后面作为Service的最后一个子元素出现。

Engine可用嵌入一个或多个Host元素,每个Host元素代表服务器上的一个虚拟主机。至少要有一个Host作为Engine的defaultHost。

Engine可以嵌入Realm元素,用于配置用户或角色对所有Host以及Host的下属Context的访问权限,也可以在Host和Context中定义Realm元素,以覆盖权限的配置。
Host
Host代表虚拟主机。可以通过别名的方式为虚拟主机指定多个不同的域名。一个或多个Host元素可以嵌入到Engine元素中。Host元素可以嵌入一个或多个Context元素,用于表示虚拟主机上的不同Web应用。至少要有一个Host最为Engine的defaultHost。

Host元素还可以嵌入Realm元素,用于配置用户或角色对Host的下属Context的访问权限,可以在Context中定义Realm元素,以覆盖权限的配置。

如果使用的是standard Host实现,并且deployOnStartup属性值为默认的true,那么在启动服务器的时候,以下内容将会被自动部署:

1)  每一个在 $CATALINA_HOME/conf/[engine_name]/[host_name] 目录下的XML文件将被认为是一个定义了web应用的context元素。Context元素的 docBase 属性就是WEB应用对应的目录或WAR文件的路径(这种情况下WAR文件不会被解压)。

2)  如果unpackWARs属性没有设置为false,那么所有在appBase目录下的war文件将会被自动解压。在更新WAR文件,需要将之前解压的生成的同名文件夹删除,重新启动tomcat

热点排行