《2022年apache-tomcat配置指南 .pdf》由会员分享,可在线阅读,更多相关《2022年apache-tomcat配置指南 .pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录文档目的 1 软件工具介绍.1 为什么要配置tomcat 负载平衡和集群.1 简单原理介绍 2 Windows 下的具体配置3 Linux 下的具体配置.8 结论.11 配置问题与解答11 详细配置附录.11 1不同类型的workers122.workers.properties 列出一个 workers 的详细配置.133.列举不同类型worker 的配置实例.14 4.tomcat 的 server.Xml 中的各个节点155.cluster 中的各个属性节点.16名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 22 页 -Tomcat 负载平衡和集群文档目的:1.用 a
2、pache+jk+tomcat 实现 windows xp 和 linux 下的 web server 负载平衡和集群。2.介绍更多关于apache,jk,tomcat 的详细配置软件工具介绍:Apache:是前端web 服务器,用来接收客户端的请求Jk:是 tomcat Connector,用于把apache接收到的请求分发给tomcat 来处理Tomcat:也是 web 服务器,但在这里主要充当servlet 容器,用来处理jk 转发过来的请求。为什么要配置 Tomcat负载平衡和集群:负载平衡:负载平衡能处理高并发量的请求Tomcat 集群:Tomcat 集群配合负载平衡可以是系统达到高
3、可用性,即任何一台服务器不可用,自动重新连接后,能保持session数据一致,不需要重新输入密码。简单原理介绍:1.apatche与 tomcat 的之间的联系由jk 完成,用的是ajp 协议。每个tomcat 都在监听ajp端口。默认的AJP Connector 的端口是8009。2.配置了集群的tomcat 之间通过tcp 协议通信复制session,当然要在tomcat 应用中的web.xml 文件中加入 或,标志着要复制session。复制 session是为了在某个服务器正在被请求时宕机,请求由 apache通过 jk 转发到其他tomcat服务器时,session中的信息丢失采取的
4、一中保持session的方式,还有其他的解决方案,如把 session存到数据库中。3.jk 把请求分配给某个tomcat 服务器遵循着不同的原则,这里我们使用的是负载平衡。在 workers.properties 中定义了很多worker,如果worker 的 type 把定义成lb,就表示这个worker 是负载平衡worker,他知道怎样提供轮询来分配request。而负载平衡也分很多平衡的方式,采用哪种方式决定于属性worker.balancer.method;下面具体描述不同的负载平衡方式(默认的是R 方式)。worker.balancer.method=Request(简写 R):
5、负载平衡worker 将根据每个tomcat 服务器上处理的request数来寻找最佳的tomcat 服务器。这种方式适合绝大数application。worker.balancer.method=Session(简写 S):负载平衡worker 根据各个tomcat 上 session的数量来寻找最佳tomcat,但是负载平衡worker 并没有状态,所以不知道session个数,所以把没有session cookie 的请求或url 中没有 encode sessionid 的请求当作new session。worker.balancer.method=Traffic(简写 T):负载平衡
6、worker 根据 jk 和 tomcat 直接的网络状况来找最佳的tomcat 服务器。worker.balancer.method=Busyness(简写 B):负载平衡worker 根据 tomcat 的流量选择流量最少的tomcat。windows下的具体配置:软件系统环境:名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 22 页 -操作系统:windows xp 前端服务器:apache_21.0.55-win32-x86-no_ssl.zip 负载平衡器:mod_jk-1.2.27-httpd-2.0.63.so 集群节点:apache-tomcat-5.5.27.z
7、ip 配置步骤:1.下载以上软件2.安装apache,并把mod_jk.2.0.55 解压后拷贝到apache 安装目录(这里为E:ideapacheApache2)/modules 下面,其实 modules下面是 apache的各个功能模块,可插拔;3.安装各个 tomcat到不同的主机上4.在 apache安装目录下 conf 目录中找到 httpd.conf 文件,并在末尾添加:include E:ideapacheApache2confmod_jk.conf 5.在httpd.conf 同目录下新建mod_jk.conf 文件,内容如下:#加载 mod_jk Module LoadM
8、odule jk_module modules/mod_jk-apache-2.0.55.so#指定 workers.properties文件路径JkWorkersFile conf/workers.properties#指定那些请求交给 tomcat 处理,controller为在 workers.propertise里指定的负载分配控制器(在这里可以分配更多的request 给 controller如果要在运行时管理负载平衡中的各个worker 则应该配置 status类型的 sworker,并把/jkmanager/*类型的请求分配给sworker,访问 jkmanager即可访问,配置
9、方法见详细配置附录)JkMount/*.jsp controller 6.在 httpd.conf 同目录下新建workers.properties 文件,内容如下worker.list=controller,tomcat1,tomcat2#server 列表#=tomcat1=worker.tomcat1.port=8009#ajp13 端口号,在 tomcat 下 server.xml配置,默认 8009 worker.tomcat1.host=localhost#tomcat的主机地址,如不为本机,请填写ip 地址worker.tomcat1.type=ajp13 worker.tomc
10、at1.lbfactor=1#server的加权比重,值越高,分得的请求越多#=tomcat2=worker.tomcat2.port=9009#ajp13 端口号,在 tomcat 下 server.xml配置,默认 8009 worker.tomcat2.host=localhost#tomcat的主机地址,如不为本机,请填写ip 地址worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=1#server的加权比重,值越高,分得的请求越多#=controller,负载均衡控制器=名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 22
11、 页 -worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2#指定分担请求的tomcat worker.controller.sticky_session=1 4.修改 tomcat 配置文件 server.xml打开 tomcat2/conf/server.xml文件ajp1.3(是用于jk与 tomcat之间的通信)Connector的 port一定要和workers.properties文件中的一致http/1.1 Connector(用于浏览器与tomcat 之间的通信)的 port 指
12、定单个访问此tomcat是用的端口号,如果 tomcat在不同的主机上可以不修改这个端口号。Server port 也一样名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 22 页 -5.配置集群只配置负载均衡还不行,还要session 复制,也就是说其中任何一个tomcat的添加的 session,是要同步复制到其它tomcat,集群内的 tomcat 都有相同的session 修改tomcat1,tomcat2 的 server.xml,将集群部分配置的在注释符删掉,并将tomcat2的 4001 端口改为 4002,以避免与 tomcat冲突,当然,如果是tomcat 安装在
13、不同的主机上,是不用改端口的,去掉注释符即可名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 22 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 22 页 -在每个 tomcat 节点上的应用(test)中的 web.Xml 中加入 表明要复制session6.运行每个tomcat 节点7.运行 apache服务器9.测试:成功的例子:在不同的客户端发起请求,请求会被平均分配给tomcat 关闭其中一个tomcat1,tomcat1 原来处理的请求会被其他tomcat2 接收,如果此前被关闭的tomca1t 的 session 中存在信息,tomcat2 中
14、tomcat1 的 session 信息依然存在,表现为登录tomcat 宕机请求被转到另外一个tomcat,并仍然处于登录状态Linux 下的具体配置:软件系统环境:操作系统:redhat 4 i386 前端服务器:httpd-2.0.63.tar.gz 安装在 linux 下负载平衡器:mod_jk-1.2.27-httpd-2.0.61.so 二进制版本集群节点:apache-tomcat-5.5.27.zip 安装在 windows 下配置步骤:一、下载以上软件二、安装apache.下面详细讲解apache的安装步骤:(注意:凡是标记为紫色的,皆为在终端中应该执行的命令,黄色字体为执行
15、结果说明!以下是在 linux4 下用 root 用户登陆的状态下测试通过的)A:打开终端,执行以下命令确认编译环境:#system-config-packages#rpm q gcc 执行结果显示gcc-3.4.3-9.EL4,说明 gcc 已经安装B:进行 apache服务器编译安装1.释放源码包文件:将你已经下载的httpd-2.0.63.tar.gz 复制到目录“/usr/local/src/”2.进入此目录对httpd-2.0.63.tar.gz 进行解压,执行以下命令:#cd/usr/local/src/#tar zxvf httpd-2.0.63.tar.gz Tar 命令执行成
16、功后会在当前目录下出现名为“httpd-2.0.63”的目录,执行:#ls 显示结果:httpd-2.0.63.tar.gz httpd-2.0.63 说明解压成功进入 httpd-2.0.63 目录:#cd httpd-2.0.63 3.编译前配置,执行以下命令:名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 22 页 -#./configure prefix=/usr/local/apache2 enable-so enable-rewrite 说明:-prefix 指定要安装到的系统目录-enable-so 设置 apache服务器可以使用动态加载模块功能-enable-r
17、ewrite 设置 apache服务器具有rewrite 功能此命令执行过程需要比较长的时间,屏幕上将显示配置的过程信息4.编译服务器程序,执行命令:#make 此命令执行过程需要比较长的时间,屏幕上将显示编译的过程信息5.安装已经编译完成的程序:#make install 此命令执行过程需要比较长的时间,屏幕上将显示安装的过程信息#ls/usr/local/此时,将会显示出apache2目录,恭喜你,安装成功了!6.如何启动apache?进入你安装好的apache2的 bin 目录#cd/usr/local/apache2/bin#apachectl start 7.如何关闭apache?进
18、入你安装好的apache2的 bin 目录#cd/usr/local/apache2/bin#apachectl stop 三、安装各个tomcat 到不同的主机上四、其他配置同windows 五、运行每个tomcat 节点六、运行 apache,运行时如报错:不能load mod_jk,mod_jk 在*目录不存在,很有可能是mod_jk 版本错误,检查官方网上的版本声明信息附:如果集群节点在linux 下,还应该安装 jdk+tomcat+mysql,执行以下步骤一、下载以下软件,并将其放置于/usr/local/src 目录下:Jdk:jdk-1_5_0-linux-i586-rpm.b
19、in Tomcat:apache-tomcat-6.0.18.tar.gz Mysql:mysql-5.0.67-linux-i686.tar.gz 二、安装配置JDK#chmod u+x jdk-1_5_0-linux-i586-rpm.bin/设置包可执行的属性#./jdk-1_5_0-linux-i586-rpm.bin/自动安装,中间需要确定安装协议只需输入yes#cd/usr/进入安装好的目录#ln s/usr/java/jdk1.5.0 jdk1.5.0/创建 jdk1.5.0 目录连接到/usr/jdk1.5.0 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 22
20、 页 -三、设置环境变量:写到/etc/profile 中,那样系统启动时就会自动加载jdk,打开文件/etc/profile,并将以下语句写入:export JAVA_HOME=”/usr/jdk1.5.0”export PATH=”$PATH:$JAVA_HOME/bin”export CLASSPATH=”$JAVA_HOME/lib”export CATALINA_HOME=”/root/tomcat6.0”四、安装配置tomcat#cd/usr/local/src/进入你放置tomcat 的文件夹#tar zxvf apache-tomcat-6.0.18.tar.gz-C/usr/
21、local/解包至 usr/local 文件夹#ln s/usr/local/apache-tomcat-6.0.18/root/tomcat6.0/做个 tomcat6.0 目录连接至 tomcat 五、启动 tomcat#cd/root/tomcat6.0#bin/startup.sh 如果显示以下内容,恭喜你,配置OK 了六、关闭 tomcat#cd/root/tomcat6.0#bin/shutdown.sh 七、安装配置mysql 1.建立 mysql 的用户和组,指定 mysql 的用户和组宿主目是”/usr/local/mysql/data#groupadd-g 200 mysq
22、l#useradd-u 200-g mysql-d/usr/local/mysql/data-M mysql 执行结果如下:2.解压安装包到指定目录并建立连接文件#tar zxvf mysql-5.0.67-linux-i686.tar.gz C/usr/local#cd/usr/local 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 22 页 -#ln-s mysql-5.0.67-linux-i686/mysql 3.在/var/lib目录下建立mysql 的子目录,并设置属主和属组。#mkdir/var/lib/mysql#chown R mysql:mysql/var
23、/lib/mysql#chown R root:mysql/usr/local/mysql-5.0.67-linux-i686/#chown R mysql:mysql/usr/local/mysql/data/执行结果如下图所示:4.进入 MYSQL 服务器程序目录,复制 mysql 的配置文件到f 到 f 到“/etc”目录中并执行 mysql_install_db命令初始化MYSQL 服务器中的数据#cd/usr/local/mysql#cp support-files/my-f/etc/f /会提示是否overwrite 只需/y 然后回车#./scripts/mysql_instal
24、l_db 执行中:5.设置 MYSQL 系统用户对行建立的数据库文件有足够的访问权限。#chown-R mysql:mysql/var/lib/mysql/#chown-R mysql:mysql/usr/local/mysql/data/执行过程如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 22 页 -6.启动服务,并指定系统用户mysql 运行#/usr/local/mysql/bin/safe_mysqld -user=mysql&执行如下:7.设置数据库密码#/usr/local/mysql/bin/mysqladmin-u root password root
25、 8.数据库登陆#/usr/local/mysql/bin/mysql u root p 9.设置数据库随机启动,在Vi/etc/rc.d/rc.local 中加入/usr/local/mysql/support-files/mysql.server start/usr/local/apache-tomcat-6.0.18/bin/startup.sh start/etc/init.d/mysql start 10.数据库授权(注意,授权后在别的电脑上才能用sqlyog 登陆):GRANT ALL PRIVILEGES ON*.*TO rootlocalhost IDENTIFIED BY r
26、oot WITH GRANT OPTION;GRANT ALL PRIVILEGES ON*.*TO root%IDENTIFIED BY root WITH GRANT OPTION;名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 22 页 -11.防止 mysql 数据不能正常导入的配置修改在/etc/my.conf文件的 mysqld段中加入以下语句 log_bin_trust_function_creators=1 lower_case_table_names=1 结论:Tomcat 负载平衡是为拥有高并发量的网站准备的;Tomcat 集群对于硬件性能高(尤其是内存要大
27、)且对用户高可用性需求苛刻(不需重复保存会话中的数据,例如用户连接任何一台节点服务器不需要重新输入密码)的站点,选择集群方式可以满足需求。配置问题收集与解答:1.apatch能否根据客户端IP 来分发请求。Apache 无此功能不过tomcat 有个 BalanceFilter 可以根据不同的规则进行负载平衡2.jk mount 能不能指定某个tomcat 专门处理图片(可以)jk Mount*.jpg=worker1(worker1 指向处理图片的tomcat)3.tomcat 目录中的图片增加时(如上传图片会导致各个tomcat 节点不一致)怎么办?没有解决详细配置附录1不同类型的work
28、ers:Type Description ajp12 这种类型的 worker 知道使用 ajp12 协议把请求转向 tomcat,最终它将被jk 使用,用来与 tomcat 服务器交互ajp13 这种类型的 worker 知道使用 ajp13 协议把请求转向 tomcat,最终它将被jk 使用,用来与 tomcat 服务器交互jni DEPRECATED:This worker knows how to forward requests to in-process Tomcat workers using JNI.lb 这种类型的 worker 是负载平衡 worker,他知道怎样提供轮询来
29、分配请求status 这种类型的 worker 负责管理负载平衡2.workers.properties 列出一个workers 的详细配置:名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 22 页 -Mandatory DirectivesDirectiveDefaultDescriptiontypeajp13 Connection DirectivesDirectiveDefaultDescriptionhost localhost Tomcat实例所在的主机的 IP 地址port 取决于协议,ajp13 为 8009 ajp14 为 8011 端口号,注:此处是Tomca
30、t 监听 defined protocol requests 的端口号,在我们的配置中负责与 tomcat 交互的worker 的 type 为 ajp,那么就是 ajp 通信的端口号,而不是 http 端口号.socket_timeout 0 Jk 等待被 request 的tomcat 的响应的时间(单位秒)socket_connect_timeout socket_timeout*1000 Jk 等待被 connect 的tomcat 的响应的时间(单位毫秒).socket_keepalive False 在 apache服务器与tomcat 引擎交互时遇到防火强的 cut 时,sock
31、et连接是否保持的标志。如果设置成 true,将要等待 os 设置的等待时间(默认 120 分钟),设置成 true 后会有一个坏处:apache和 tomcat 都要不会抛出任何错误来名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 22 页 -反应防火墙的 cut,导致couldnt handle it.ping_mode-Ping 的 4 种模式:C,P,I,Aping_timeout 10000 等待 ping 的响应(Cpong)的时间connection_ping_interval 0/(ping_timeout/1000)*10 根据connection_ping_
32、interval 后 Ping 的响应状态来确定是否处于工作状态connection_ping_interval is 10 times ping_timeout.connection_pool_size see text 限制每个节点的Connection 数 Do not use connection_pool_size with values higher then 1 on Apache 2.x prefork or Apache 1.3.x!connection_pool_timeout 0 JK 保持 an inactive socket in cache before closi
33、ng it的时间.This property should be used to reduce the number of threads on the Tomcat web server.The default value zero disables the closing(infinite timeout).connection_acquire_timeout retries*retry_interval worker 等待获得socket 连接的时间,等待的时间超过之后,将放弃连接请求Its default value is retries*名师资料总结-精品资料欢迎下载-名师精心整理-
34、第 14 页,共 22 页 -retry_interval.lbfactor 1 决定了此 worker 将接受的 requests 的权重,数值越大请求被分配给它的个数越多。此属性只作用于负载平衡 worker 的balanced_workers属性定义的成员Load Balancing DirectivesDirectiveDefaultDescriptionbalance_workers-被负载平衡 work 管理的 worker 列表These workers should not appear in the worker.list property!sticky_session Tr
35、ue 当有可以持久化多个tomcat 实例的session manager 机制时可以设置为false,否则设置成 true(在 requests中包括了 SESSION ID,这样才能复制session)method Request R,S,T,B lock Optimistic Optimistic:balancer will not use shared memory lock to find the best worker.Pessimistic:balancer will use shared memory lock.The balancer will work more accur
36、ately in case of Pessimistic locking,but can slow down the average response time.retries 2 Load balance worker找不到任何member worker 而重新尝试的次数,尝试时间间隔为 retry_interval Status Worker DirectivesDirectiveDefaultDescription名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 22 页 -css-Specifies the url for cascading stylesheet to
37、use.read_only False 如果为 true 就意味着不能做任何改变运行时状态的操作如管理负载平衡时停止某个 worker user-定义了可以访问 status worker的user 列表,不在列表中的user 没有权限,默认任何 user 都有权限user_case_insensitive False 匹配 user 是否匹配大小写good a.o,a.n,a.b,a.r 状态为 good 的 worker 列表For every load balancer worker,the status worker shows a summary of the state of it
38、s members.There are three such states,good,bad and degraded.bad s,e 状态为 bad 的 worker 列表prefix worker status worker 为 properties output(mime=prop).添加的前缀ns jk:定制 status worker 输出的 XML 的命名空间.If set to-no namespace will be used.xmlns-定制 status worker 输出的 XML 的xmlnsDefault value is set to xmlns:jk=http:/
39、tomcat.apache.org doctype-定制 status worker 输出的 XML 的类型 This value will be inserted to the output xml after the xml header.Advanced Worker DirectivesDirectiveWorker TypeDefaultDescription名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 22 页 -connect_timeout AJP,SUB 0 连接时间限制,如果到时间还未收到 pong表明失败prepost_timeout AJP,SUB 0
40、 在 request 前先发送一个 ping,此属性就是发送 ping 后得到pong的时间限制,超过此时间则认为失败retries AJP,SUB 2 重新 request 的次数,2表明 error 后重新请求 1 次retry_interval AJP,SUB 100 Worker 在重新尝试request前的停止时间,即两次重新请求的间隔recovery_options AJP,SUB 0 1:Tomcat 接收到request 后失败时不恢复2:Tomcat 接收到request 并 setheader到客户端失败时不恢复4:tomcat response失败时关闭connectio
41、n 8:只恢复 HEAD method requests。16:只恢复 GET method requests fail_on_status AJP,SUB 0 标志 worker 失败的属性,如果此 worker 是lb 的成员,当它返会的状态与此属性匹配则会被设置为 error(如-404)max_packet_size AJP,SUB 8192 AJP 数据包的 size Bytes mount AJP,LB-定义 worker 可以处理名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 22 页 -的 uri列表max_reply_timeouts LB 0 当设置了这个属
42、性就会让 worker 此时间内没有响应就设置为 error recover_time LB 60 Worker 恢复工作的时间,在 worke 出错达到recover_time后 load balancer 才会再度分requests 给此 Worker error_escalation_time LB recover_time/2 在 worker 发生错误后,把 worker 状态改为 error state的时间间隔.activation SUB Active Worker 的活动状态可被 status worker在运行时改为 stop,disable session_cookie
43、LB JSESSIONID 在 cookie 中能唯一标识 session 的路由标识符。存到 cookie 中的字符”.”之后session_path LB;jsessionid 在 cookie 中能唯一标识 session 的路由标识符。存到session_path 中的字符”.”之后Deprecated Worker Directives不推荐的属性,在过去的版本中的指令(Directives)DirectiveSuccessorDefaultDescriptioncachesize connection_pool_size see text 用于在多线程服务器(Apache 2)名师
44、资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 22 页 -中 limit每个tomcat 上面的connection(AJP)。cache_timeout connection_pool_timeout 0 Cache timeout property 定义了一个 open socket 在 cache 中处于open 状态的时间;用来减少线程的数量 on the Tomcat web server.recycle_timeout connection_pool_timeout 0 表示阻断inactivity的ajp13 conection的时间间隔,用来保证 too old
45、threads living on Tomcat side,缺点:但是下次用到时又要重新open conection balanced_workers balance_workers-被用来负载平衡worker 管理的worker 列表.disabled activation False 如果设置为Trueor 1 worker 变为不可用;在运行期间可以被 status worker(前面介绍了此 worker 用来管理负载平衡,在管理页面可以设置某个 worker 为disabled)改变stopped activation False 当设置为True or 名师资料总结-精品资料欢迎下
46、载-名师精心整理-第 19 页,共 22 页 -1 时 worker(member of lb)被停止;在复制session 时才起作用,在运行期间可以被 status worker(前面介绍了此 worker 用来管理负载平衡,在管理页面可以设置某个 worker 为stop)改变jvm_route 3.列举不同类型worker 的配置实例:Status Worker propertiesThe status worker does not communicate with Tomcat.Instead it is responsible for the load balancer mana
47、gement.#Add the status worker to the worker list worker.list=jkstatus#Define a jkstatus worker using status worker.jkstatus.type=status Next thing is to mount the requests to the jkstatus worker.For Apache web servers use the:#Add the jkstatus mount point JkMount/jkmanager/*jkstatus To obtain a high
48、er level of security use the:#Enable the JK manager access from localhost only JkMount jkstatus Order deny,allow Deny from all Allow from 127.0.0.1 名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 22 页 -4.tomcat的 server.Xml中的各个节点Server节点:Server 代表整个 Catalina servlet 容器。在 server.xml 配置文件中必须是顶层元素且唯一,给它配置的属性代表整个容器的属性。S
49、ervice节点:service 由连接器connector 和共享的处理引擎(Engine)。Connector 节点:Connector 分为 http connector 和ajp3 connector,http connector用Http/1.1协议 Connector 接侦听来自客户端浏览器的http 请求,此时tomcat 作为独立的web 服务器;ajp3 connector用 ajp3 协议 侦听来自其它 Web 服务器的请求,此时 tomcat 只作为 servlet 容器;Engine节点:处理引擎(Engine)代表一个 Service 所属的请求处理机,它接受所有连接
50、器传递过来的客户端请求,将处理结果返回给连接器,由连接器将最终响应返回给客户端。Engine 必须配置在Service 组件下。处理引擎下可以配置多个虚拟主机(Virtual Host),每个虚拟主机都有一个域名。当处理引擎获得一个请求时,它把该请求匹配到某个虚拟主机上,把请求交给该虚拟主机来处理。处理引擎有一个默认虚拟主机,当请求无法匹配到任何一个虚拟主机上时,交给默认虚拟主机来处理。Host节点:代表一个虚拟主机,每个虚拟主机和某个网络域名(Domain Name)相匹配。每个虚拟主机下都可以部署(deploy)一个或者多个Web 应用程序(Web Application),每个 Web