Tomcat提供了专门的JK插件来负责Tomcat和HTTP服务器之间的通信。
对于不同的HTTP服务器,Tomcat提供了不同的JK插件的实现模块:
与Windows下的Apache HTTP服务器集成:mod_jk.so。
与Linux下的Apache HTTP服务器集成:mod_jk_linux.so。
与IIS服务器集成:isapi_redirect.dll。
mod_jk.so下载页面:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
1、在Apache服务器中加入JK插件
要在Apache服务器中加入JK插件,只要把mod_jk.so复制到<APACHE_HOME>/modules目录下即可。
2、创建workers.properties文件
Apache服务器把Tomcat看做是为自己工作的工人(worker)。workers.properties文件用于配置Tomcat的信息,它的存放位置为<APACHE_HOME>/conf/workers.properties。
worker.list=worker1
worker.worker1.port=8009 # 工作端口,若没有占用则不用修改
worker.worker1.host=localhost # Tomcat服务器的地址
worker.worker1.type=ajp13 # 类型
worker.worker1.lbfactor=1 # 负载均衡因数
以上文件中的属性描述如下表:
属 性 | 描 述 |
worker.list | 指定Tomcat服务器名单 |
worker.worker1.port | 指定Tomcat服务器使用的AJP端口 |
worker.worker1.host | 指定Tomcat服务器的IP地址 |
worker.worker1.type | 指定Tomcat服务器与Apache服务器之间的通信协议 |
worker.worker1.lbfactor | 指定负载均衡因数(Load Balance Factor),只有在使用了负载平衡器(LoadBalancer)的情况下,这个属性才有意义 |
以上worker.list指定Tomcat服务器名单。例如“worker.list=worker1”表示只有一个Tomcat服务器,名为“worker1”。再例如“worker.list=worker1,worker2”表示有两个Tomcat服务器,分别名为“worker1”和“worker2”。worker.worker1.port及worker.worker1.host用于设置名为“worker1”的Tomcat服务器的有关属性,如果要设置worker2的port属性,则可以采用“worker.worker1.port=8109”的形式。
3、修改Apache服务器的配置文件httpd.conf
打开<APACHE_HOME>/conf/httpd.conf文件,再其末尾加入以下类容:
JK插件的相关属性见下表:
属 性 | 描 述 |
LoadModule | 指定加载的JK插件及其路径 |
JkWorkersFile | 指定JK插件的工作文件 |
JkLogFile | 指定JK插件使用的日志文件,在实际配置中,可以通过查看这个日志文件,来跟踪JK插件的运行过程,这对排错很有用 |
JkLogLevel | 指定JK插件的日志级别,可选值包括debug、info和error等 |
JkMount | 指定JK插件处理的URL映射信息 |
JkMount用来指定URL映射信息,“JkMount /*.jsp worker1”表示“/*.jsp”形式的URL都由worker1代表的Tomcat服务器来处理;“JkMount /helloapp/* worker1”表示访问helloapp应用的URL也都由worker1来处理。
4、测试配置
重启Tomcat服务器和Apache服务器,并通过浏览器访问http://localhost/index.jsp,如果出现Tomcat的默认主页,就说明配置已经成功。