Httpd通过mod_jk整合Tomcat

时间:2021-11-21 13:28:09

环境:Tomcat8 + Httpd2.4

工作原理:借助于Tomcat的AJP连接器实现Apache与Tomcat的通信

配置步骤
1. 配置httpd.conf文件
新加:
Include conf/extra/mod_jk.conf

修改:添加index.jsp

<IfModule dir_module>
DirectoryIndex index.html index.jsp
</IfModule>

新增模块:

LoadModule jk_module modules/mod_jk.so

<IfModule jk_module>
Include conf/extra/mod_jk.conf
</IfModule>

2. 创建mod_jk.conf文件



JkWorkersFile "conf/workers.properties"
JkMountFile "conf/uriworkermap.properties"
JkLogFile "logs/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkRequestLogFormat "%w %V %T"

注意:将/mod_jk.so库文件放在相应目录位置

3. 创建workers.properties文件

workers.tomcat_home=C:/tomcat-8.0.47/
workers.java_home=C:/Program Files/Java/jre1.8.0_144
worker.list=ajp13

worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

注意:worker.list定义的值与mod_jk.conf文件保持一致

4. 创建uriworkermap.properties文件

!/*.html=ajp13
!/*.htm=ajp13
!/*.js=ajp13
!/*.css=ajp13
!/*.jpg=ajp13
!/*.jpeg=ajp13
!/*.gif=ajp13
!/*.png=ajp13
!/*.swf=ajp13
!/*.xml=ajp13
!/*.ico=ajp13
/*.jsp=ajp13
/*.do=ajp13
/*.action=ajp13
/*=ajp13

注意:过滤静态资源访问请求,只将动态servlet请求转发给Tomcat处理

5. 启动httpd和tomcat 验证
测试动态访问请求转发Tomcat:
访问:Http://localhost/index.jsp
Httpd通过mod_jk整合Tomcat

登陆Tomcat管理员页面
Httpd通过mod_jk整合Tomcat

测试静态资源Httpd处理请求
Httpd通过mod_jk整合Tomcat

注意:

如果配置文件中未声明文件的绝对路径,Httpd处理“logs/error.log”格式路径时默添加前缀:${ServerRoot}/,也就是路径是相对httpd的安装路径来定义的。

例如:conf/workers.properties
等价于:C:/apache24/conf/workers.properties
C:/apache24: 表示Httpd安装目录