日期:2014-05-16  浏览次数:20881 次

proxy-ajp做apache与tomcat的结合

在Apache2.2之前,一般有两个组件可选择。mod_jk和mod_jk2。后来 mod_jk2没更新了,转而更新mod_jk,所以现在一般都使用mod_jk做Apache和Tomcat的连接器。要指出的是mod_jk支持 Apache 1.x和2.X系列。

?

不过,自从Apache2.2出来后,你又多了种选择,那就是proxy-ajp.大家知道Apache里的proxy模块,可以实现双向代理功能,功能 非常强大。其实从连接器的实现原理上来说,用proxy模块来实现是非常自然的。proxy模块的功能无非就是把相关的请求发给特定的主机再返回结果。那 连接器的功能需求就是要把所有对Servlet/JSP的请求都转给后台的Tomcat。而且所FreeBSD邮件列表上说,使用proxy-ajp要比 mod_jk的效率要高。

?

网上很多是通过mod_jk来整合的,由于apache2.2本身已经支持tomcat了,所以这里用proxy来整合tomcat,先把apache和tomcat都停止了。然后打开httpd.conf文件,把
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
前面的#号去掉,在文件最后添加

<VirtualHost *:80>
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
ServerName lq.yy
</VirtualHost>
<VirtualHost *:80>
ProxyPass /images/ !
ProxyPass /js/ !
ProxyPass /css/ !
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
ServerName lq.qq
</VirtualHost>

支持同一个IP的多个域名访问。

?

如果想通过域名访问,在本机设置host文件。