tomcat配置-1

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,才可重新加载,这使得编辑上下文属性的侵入性过大。

未完待续

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容