从Tomcat的Server.xml中,我们可以看出Tomcat的体系结构。
一个<Connector>元素用于配置一个对外的连接器。
对于Web服务器上的每一个监听端口号,都要使用一个单独的<Connector>元素。
一个<Connector>元素对应的连接器必须有一个相关的<Engine>元素,将一个或多个<Connector>元素与某个<Engine>元素相关联的方式就是将它们嵌套在同一个<Service>元素。
一个Host对应一个站点,一个Context对应站点内的一个虚拟(子)目录。
各个Connector接到基于各类协议的不同格式请求转换成统一格式的请求,再交给Engine处理。
在Tomcat的Server.xml中,要采用<Connector>元素配置与JK插件进行通信的连接器,不过Tomcat已经事先就设置好了一个默认的与JK程序连接的Connector。
<Service name= “…”>
<Connector port=”…” …/>
<Engine name=”…”>
<Host name=””>
<Context …>
</Context>
</Host>
</Engine>
</Service>
在Tomcat的Server.xml中,要采用<Connector>元素配置与JK插件进行通信的连接器。
<Connector port=”8080”
maxThreads=”150” minSpareThreads=”25” maxSpareThreads=”75”
enableLookups=”false” redirectPort=”8443” acceptCount=”100”
connectionTimeout=”20000” diableUploadTimeout=”true”
URIEncoding=”GB2312” useBodyEncodingForURI=”true”/>
<Connector port=” 8443”
maxThreads=”150” minSpareThreads=”25” maxSpareThreads=”75”
enableLookups=”false” diableUploadTimeout=”true”
acceptCount=”100” scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS”/>
<Connector port=”8009”
enableLookups=”false” redirectPort=”8443” protocol=”AJP/1.3”/>
<Engine name=”Catalina” defaulthost=”locahost”/>
如何才能让JK插件正常工作:
一、 在Web服务器(IIS或Apache)中正确安装JK插件。
二、 JK插件需要知道把请求转发给哪个Tomcat服务器上的哪个连接器,也就是需要知道该连接器的通讯协议和地址。
三、 JK插件需要知道它负责处理的url,以便通知Web服务器把这些url转交给它处理;另外,一个JK插件可以向多个Tomcat服务器转发请求,它需要知道哪些url应转发给哪个Tomcat服务器。
四、 JK本身的一些配置信息,例如,记录日志的文件路径,记录日志的级别等信息,如果上面的2、3两个问题都在各自的一个属性文件中进行配置,那么,还需要告诉这两个属性文件的位置路径。
三个文件
Isapi_redirect.properties
Uniworkermap.properties
Workers.properties
Isapi_redirect.properties文件中的worker_file指明了workers.properties文件的位置,worker_mount_file则指明了uniworkermap.properties文件的位置。JK插件就是通过Isapi_redirect.properties文件了解workers.properties和worker_mount_file.properties的文件所在的位置。
文件清单:
Workers.properties
Worker.list=worker1,worker2
Worker.worker1.type=ajp13
Worker.worker1.host=localhost
Worker.worker1.port=8009
Worker.worker2.type=ajp13
Worker.worker2.host=192.168.0.3
Worker.worker2.port=8009
文件清单
/*.jsp=worker1
/myweb/* =worker1
/jsp-examples/* =worker2
负载均衡(lb)
Worker.list=wlb
Worker.ajp13w.type=ajp13
Worker.ajp13w.host=localhost
Worker.ajp13w.port=8009
Worker.wlb.type=lb
Worker.wlb.balance_workers=ajp13w
查阅JK连接器的帮助文档。
Tomcat Connectors|workers.properties
解释了文件中的各个属性的意义和作用。
Tomcat Connectors|howto and install
如何在Apache和IIS下安装JK插件。