mod_proxy:提供代理的功能,而mod_jk是作为一个独立的连接器存在,所以性能上要比较高;
- mod_jk:mod_jk实质上是Apache与Tomcat的连接器,并藉此附带提供集群和负载均衡的功能。
- mod_jk2:mod_jk的升级版,但官方已不再支持;
mod_proxy_http:mod_proxy提供http反向代理;
- mod_proxy_ajp :这个使用二进制方式传输,与通过http协议代理到后端相比,效率更高,而且在进行访问tomcat时不允许不经过反向代理过来;
- mod_proxy_banlancer:负载均衡时用到;
如果使用tomcat做集群,建议使用httpd做反向代理;
环境配置:
tomcat主机: 
- 192.168.10.8
- 192.168.10.9
- 安装jdk和tomcat. 参考:46_03(实验)
| 1 | #vim /usr/local/tomcat/conf/server.xml | 
192.168.10.106安装httpd,对后端的Tomcat做反向代理:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26安装httpd的配置选项: 
    #./configure --prefix=/usr/local/apache \ 
     --sysconfdir=/etc/httpd \ 
     --enable-so \ 
     --enable-rewrite \ 
     --enable-ssl \ 
     --with-zlib \ 
     --with-pcre \ 
     --enable-cgi  \ 
     --enable-cgid \ 
              --enable-modules=most \ 
              --enable-deflate \ 
    --enable-mods-shared=most \ 
    --enable-mpms-shared=all \ 
    --with-mpm=event \ 
    --enable-proxy \ 
    --enable-proxy-http \ 
    --enable-proxy-ajp \ 
    --enable-proxy-balancer \ 
    --enable-lbmethod-heartbeat \ 
    --enable-heartbeat \ 
    --enable-slotmem-shm \ 
    --enable-slotmem-plain \ 
    --enable-watchdog \ 
    --with-apr=/usr/local/apr \ 
    --with-apr-util=/usr/local/apr-util 
配置apache通过mod_proxy模块与tomcat连接
需要使用mod_proxy与tomcat实例连接,需要apache已经装载mod_proxy、mod_proxy_http、mod_proxy_ajp和proxy_balancer_module(实现tomcat集群时用到)等模块; 
| 1 | #/usr/local/apache/bin/httpd -D DUMP_MODULES | grep proxy #默认没有,可以在配置文件中查找proxy然后启动这些; | 
| 1 | #vim /etc/httpd/httpd.conf | 
注释中心主机,添加
Include /etc/httpd/extra/httpd-proxy.conf
让apache跟tomcat的http连接器进行整合:
| 1 | #vim /etc/httpd/extra/httpd-proxy.conf | 
重启httpd即可实现反向代理。
这个地方我没有添加httpd启动脚本,自己看前面的;;
http://172.16.100.106/index.jsp
需要着重明白这句话,所有的请求都会交给后端的Tomcat处理,httpd并不会处理任何请求,所以网页要放在tomcat指定的目录下; 
 
【方式二】 配置apache跟tomcat的mod_jk连接器进行整合: 
  
| 1 | #tar xf tomcat-connectors-1.2.37-src.tar.gz | 
至此,一个基于mod_jk模块与后端名为Tomcat1的worker通信的配置已经完成,重新httpd服务即可生效;
 
		