免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2910 | 回复: 1
打印 上一主题 下一主题

(原创)apache2.2用proxy_ajp方式整合tomcat6.0 (到目前为止最新源码编译) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-27 14:24 |只看该作者 |倒序浏览

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
打开Virtual hosts 即去掉Include conf/extra/httpd-vhosts.conf一行的注释
注释掉DocumentRoot和ServerAdmin
修改为
  
   
编辑httpd-vhosts.conf
添加:
VirtualHost *:80>
    ServerAdmin jsjzhang@gmail.com
    DocumentRoot "/www/web"         #此虚拟主机的主目录为/www/web
    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"
    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中httpd.conf中的修改为和你tomcat一致的主目录,例如我这里应
该设为:
三.测试
现在启动tomcat启动apache在浏览器输入
http://www.terr.com/web
看看效果吧,因为是测试所以我在只在hosts里面对
www.terr.com
做了解析.


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/30312/showart_1669065.html

论坛徽章:
0
2 [报告]
发表于 2009-02-28 14:31 |只看该作者
非常不错的文章,支持一下了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP