转文:apache2.2用proxy_ajp方式整合tomcat6.0

最近也做了一个httpd2.2.14,tomcat6.0.20,java6.0.18的环境.

对其中tomcat和httpd的关联.还有就是tomcat6和tomcat4的参数的区别都有较深的感受.

HTTP配置参数:http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

AJP配置参数:http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html

还有APR的说明:http://tomcat.apache.org/tomcat-6.0-doc/apr.html

 

 

下面内容是转自http://blog.chinaunix.net/u/30312/showart_1669065.html .谢谢这位仁兄的分享.

 

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/ jdk
export JRE_HOME= $ JAVA_HOME/ jre
export PATH= $ JAVA_HOME/ bin: $ JRE_HOME/ bin: $ PATH
export 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

 

访问:http://yourip:8080/如果看到默认首页证明安装成功

二.整合apache和tomcat.

我这里的apache的根目录和tomcat的根目录不在同一目录,当然了你完全可以放在同一目录下

我的apache的根目录在/www tomcat的根目录在/usr/local/tomcat/webapps
修改apache的httpd.conf

添加模块

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

打开Virtual hosts 即去掉Include conf/extra/httpd-vhosts.conf一行的注释

注释掉DocumentRoot和ServerAdmin

 

编辑httpd-vhosts.conf

添加:

< VirtualHost * : 80>
    ServerAdmin jsjzhang@gmail. com
    DocumentRoot "/www/web"          # 此虚拟主机的主目录为/ www/ web

   <Directory "/www/web">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    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
< / VirtualHost>

 

如何有多个虚拟主机可以再添加.例如:

< VirtualHost * : 80>
    ServerAdmin jsjzhang@gmail. com
    DocumentRoot "/www/web2"  

   <Directory "/www/web2">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    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
< / VirtualHost>

 

注: 生产环境下这些虚拟主机都是用域名访问的.因为他们都对应同一个IP。如何用IP访问一般打开的为最一个虚拟主机的主页。


把web这个网站放到tomcat的主目录/usr/local/tomcat/webapps下,其中images,sna和/news /images这三个目录放到/www/web下当然了我的apache还有其它用处所以没有和tomcat设为同一主目录为了简单你当然可以这么做,但 一定要记得把apache中虚拟主机中的<Directory "/www/web">修改为和你tomcat一致的主目录,例如我这里应

该设为:<Directory "/usr/local/tomcat/webapps">


三.测试

现在启动tomcat启动apache在浏览器输入http://www.terr.com/web 看看效果吧,因为是测试所以我在只在hosts里面对www.terr.com 做了解析.

你可能感兴趣的:(java,apache,jdk,tomcat,centos,测试)