Apache2.2用proxy ajp方式整合Tomcat6.0
小狼@http://blog.gaodaima.com/xiaolangyangyang
google一下这样的文章还真不少.但一些不太全也不太适合我.只好自己写了
本文主要用httpd2.2的porxy_ajp来连接tomcat
我的环境为:Centos5.2
下载最新版本的apache目前最新版本为httpd-2.2.10.tar.gz
下载最新版本的tomcat日前最新版本为apache-tomcat-6.0.18.tar.gz
jdk1.6
在http://apr.apache.org下载最新的apr-1.3.3和apr-util-1.3.4
一、开始安装
1. #编译apr
#tar–zxvf apr–1.3.3.tar.gz
#cd apr–1.3.3
#./configure––prefix=/usr/local/apr–httpd/
#make
#make install
2. #编译apr-util
#tar–zxvf apr–util–1.3.4.tar.gz#cd apr–util–1.3.4#./configure––prefix=/usr/local/apr–util–httpd/––with–apr=/usr/local/apr–httpd/#make#make install
3. #编译httpd
#tar–zxvf httpd–2.2.10.tar.gz#cd httpd–2.2.10#./configure––prefix=/usr/local/apache2/––with–apr=/usr/local/apr–httpd/––with–apr–util=/usr/local/apr–util–httpd/––enable–so––enable–mods–shared=most––enable–rewrite=shared––enable–proxy=shared––enable–proxy–ajp=shared––enable–proxy–balancer=shared––enable–speling=shared#make#make install
启动:
#/usr/local/apache2/bin/apachectl start
测试是否安装正确 用这个http://yourip/显示apache默认页面为It works!
4. 配置tomcat
1) #安装JDK1.6
在java.sun.com下载jdk后直接安装就可以
2) #设置环境变量
vim /etc/profile 添加:
export JAVA_HOME=/usr/java/jdkexport JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3) #安装tomcat
#tar–zxvf apache–tomcat–6.0.18.tar.gz–C/usr/local/#mv/usr/local/apache–tomcat–6.0.18 tomcat
4) 启动tomcat并测试
#/usr/local/tomcat/bin/startup.sh
二.整合apache和tomcat
我这里的apache的根目录和tomcat的根目录不在同一目录,当然了你完全可以放在同一目录下
我的apache的根目录在/www tomcat的根目录在/usr/local/tomcat/webapps
修改apache的httpd.conf
添加模块:
LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.so
打开Virtual hosts 即去掉Include conf/extra/httpd-vhosts.conf一行的注释
注释掉DocumentRoot和ServerAdmin
编辑httpd-vhosts.conf
添加:
ServerAdmin [email protected] DocumentRoot "/www/web" #此虚拟主机的主目录为/www/web Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all ServerName www.terr.com #只是测试,生产环境可以写为对应的域名 ProxyPass /images ! #以下几行的意思是对/images,/sna 和/news/images几个目录的访问请求由apache处理其它都由tomcat处理. ProxyPass /sna ! ProxyPass /news/images! ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ ErrorLog "logs/3.249-error_log" CustomLog "logs/3.249-access_log" common如何有多个虚拟主机可以再添加.例如:
ServerAdmin [email protected] DocumentRoot "/www/web2" Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all ServerName www.terr2.com ProxyPass /images ! ProxyPass /sna ! ProxyPass /news/images! ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ ErrorLog "logs/3.249-error_log" CustomLog "logs/3.249-access_log" common
注: 生产环境下这些虚拟主机都是用域名访问的.因为他们都对应同一个IP。如何用IP访问一般打开的为最一个虚拟主机的主页。
把web这个网站放到tomcat的主目录/usr/local/tomcat/webapps下,其中images,sna和/news/images这三个目录放到/www/web下当然了我的apache还有其它用处所以没有和tomcat设为同一主目录为了简单你当然可以这么做,但一定要记得把apache中虚拟主机中的修改为和你tomcat一致的主目录,例如我这里应
该设为:
三.测试
现在启动tomcat启动apache在浏览器输入http://www.terr.com/web看看效果吧,因为是测试所以我在只在hosts里面对www.terr.com做了解析。
以上就介绍了apache2.2用proxy_ajp方式整合tomcat6.0,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。