项目需要,老大要我们将apache将与tomcat集成起来,将jsp交给tomcat处理, 其它的交给apache处理。唯有整理一下以前的做法, 看现在的环境下能不能配得起来, 结果是可以的。
Tomcat服务器通过Connector 连接器组件与客户程序建立连接,Connector 组件负责接收客户的请求,以及把Tomcat 服务器的响应结果发送给客户。
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" /> // 这个是 ajp的使用,如果和apace集成,还需要改下面的
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
// 将这个开启,默认是屏蔽了的。
该连接器监听8009 端口,负责和其他的HTTP 服务器建立连接。在把Tomcat 与其他HTTP服务器集成时,就需要用到这个连接器。
JK插件
Tomcat 提供了专门的JK 插件来负责Tomcat 和HTTP 服务器的通信。应该把JK 插件安置在对方的HTTP服务器上。当HTTP服务器接收到客户请求时,它会通过JK插件来过滤URL,JK 插件根据预先配置好的URL映射信息,决定是否要把客户请求转发给Tomcat 服务器处理。
假定在预先配置好的URL 映射信息中,所有“/*.jsp”形式的URL 都由Tomcat 服务器来处理,那么在图22-1的例子中,JK插件将把客户请求转发给Tomcat服务器,Tomcat 服务器于是运行index.jsp,然后把响应结果传给HTTP服务器,HTTP服务器再把响应结果传给Web客户端。
对于不同的HTTP 服务器,Tomcat 提供了不同的JK 插件的实现模块。
AJP协议
AJP是为Tomcat与HTTP服务器之间通信而定制的协议,能提供较高的通信速度和效率。在配置Tomcat与HTTP服务器集成中,读者可以不必关心AJP协议的细节。
开始集成:
1) 准备:
Apache2.x Tomcat5.5 jakarta-tomcat-connectors-jk2.0.4-win32
jk2 (包括了doc, mod_jk2.so, workers2.properties )的下载地址:
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/binaries/win32/jakarta-tom
2) Tomcat配置
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
// 配置 ajp
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
// 配置使用 ajp, 一定要开启
<Context path="/evimdv" docBase="F:\ evimdv\WebRoot" debug="0" reloadable="true" />
// 配置context
3) Apache配置
Listen 81 //监听端口
DocumentRoot "F:/evimdv/WebRoot" // 目站根目录
LoadModule jk2_module modules/mod_jk2.so
// 加载jk2模块, 将mod_jk2.so 放到 apache的modules 目录下
<LocationMatch "/*.jsp"> //jsp处理交给8009端口的tomcat
JkUriSet worker ajp13:localhost:8009
</LocationMatch>
<LocationMatch "/*.evi">
JkUriSet worker ajp13:localhost:8009
</LocationMatch>
<IfModule mod_jk2.so>
JkSet config.file conf/workers2.properties
</IfModule>
// workers2.properties 的设置, 将workers2.properties放到apache的conf目录下
4) workers2.properties 内容
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
5) jk2.properties在tomcat5.5是默认存在于conf目录下的, 使用默认配置就行




















