比起前代的mod_jk来讲,mod_proxy_ajp非常简单方便。mod_jk的配置简直是一场噩梦。还等什么,快升级吧。
apache22的mod_proxy_ajp模组试用及apache22+php5+tomcat5快速安装指南
12/13/2005
Note:整个安装是在5.3-RELEASE下完成的。但应该也适用于其他unix like平台。
一、准备工作:
1、先更新port,#cvsup -g -L 2 your-ports-supfile。
2、安装JDK1.5
推荐使用JDK1.5p2(native方式),介绍FreeBSD下 JDK编译的文章很多,本文不再赘述。安装完成JDK后,别忘了设置环境变量JAVA_HOME。之后验证JDK是否安装正确。执行java –version,看输出是否正确。
二、安装
1、安装tomcat
从port安装即可。
2、安装apache22
我的make参数如下:
make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes WITH_LDAP_MODULES=yes WITH_MISC_MODULES=yes WIHT_PROXY_MODULES=yes WITH_SSL_MODULES=yes WITH_SUEXEC_MODULES=yes WITH_PROXY_MODULES="proxy proxy_http proxy_ajp proxy_balancer"
make install
make clean
安装完成后,lynx localhost测试一下。确保安装正确。
3、安装php5
cd /usr/ports/lang/php5
make install clean
安装其他需要的php扩展模组
cd /usr/ports/lang/php5-extension
make config
make
make install
make clean
编辑httpd.conf,增加如下行:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
4、配置mod_proxy_ajp
首先看一下httpd.conf中是否正确load了mod_proxy模组。如果没有的话,重新编译安装apache22。mod_proxy_ajp的配置非常简单。基于灵活性考虑,最好单独在虚拟主机中配置。我的配置如下:
<VirtualHost *>
ServerName localhost
ProxyPass / ajp://localhost:8009/
#ProxyPass / http://localhost:8180/
ProxyPassReverse / ajp://localhost:8009/
#ProxyPassReverse / http://localhost:8180/
</VirtualHost>
说明:/表示把所有发往80端口的http访问请求自动转向到tomcat监听的8080端口(FreeBSD port安装的tomcat默认监听8180端口)。lynx localhost,可以看到tomcat的welcome页。说明安装成功。
注意:由于/的设置把所有80端口的访问都forward到了tomcat,所以这可能不是我们所希望的,这种情况下apache只是个转发代理。一般情况下,我们希望apache同时能提供mod_perl、php功能。因此需要单独为jsp的应用配置URI映射。配置同样很简单ProxyPass /myapp ajp://localhost:8009/,ProxyPassReverse /myapp ajp://localhost:8009/即可。
可以看到,比起前代的mod_jk来讲,mod_proxy_ajp非常简单方便。mod_jk的配置简直是一场噩梦。哈哈,还等什么,快升级吧。