linux下的apache+tomcat整合整理

   

前段时间一直在调试tomcat与apache整合。整了好一阵子都没有成功,老郁闷啦。今天决定把以前犯的错误都整理一下,以避免下次再犯。。

   用到的软件: httpd-2.0.52.tar.gz,apr-util-1.2.12,apr-1.2.2  ,jakarta-tomcat-5.0.28 ,libtool-1.5.6.tar.gz,

 

   参考资料:http://www.chinaunix.net/jh/13/433971.html

先安装好apache和tomcat,在浏览器里面访问成功再进行下一步。

首先整合tomcat+apache

首先按照网上资料介绍的一步一步来。其中都没有出错,但是到了编译mod_jk2.so模块的时候:./configure --with-apxs2=/usr/local/apache2/bin/apxs  出现了need to check for Perl first, apxs depends on it...
checking for perl... /usr/bin/perl
configure: error: can't locate libapr

错误,按照他的提示,更新了apr,apr-util,libtool-1.5.6的版本,也做了软连接。接着执行:./configure --with-apxs2=/usr/local/apache2/bin/apxs 

在这一步的时候又出现了提示:

no apxs given
need to check for Perl first, apxs depends on it...
checking for perl... /usr/bin/perl
building connector for "apache-2.0"
checking checking for apache13...... not provided
checking checking for apache20...... not provided
checking checking for iis...... not provided
checking checking for iPlanet...... not provided
checking for tomcat33 location... not provided
checking for tomcat40 location... not provided
checking for tomcat41 location... not provided
configure: creating ./config.status

没有提供apxs参数。其实这个不是错误,接着执行make编译就行了。我每次到了这个地方都认为是某个地方执行不对,出了错误,然后我就停止了,直接返回到上一级目录,一看build目录没有生成,那么mod_jk2.so肯定也没有生成。我就一直纳闷自己按照步骤来的怎么就编译不出mod_jk2.so文件呢。其实就是因为太傻,根本没有make,怎么会出现mod_jk2.so模块呢。

 

jk2_mod.so模块编译出来了。然后将jk2_mod.so文件放到apache/modules目录下,修改conf/httpd.conf文件,添加:LoadModule jk2_module modules/mod_jk2.so,随便添加到哪个位置都行,最好是多个LoadModule放在一块,维护方便。其他关于站点路径DocumentRoot的设置,按照自己需要设置成相应目录。

然后编写workers2.properties文件:

[logger]
level=ERROR

[config:]
file=/usr/local/apache2/conf/workers2.properties
debug=0
debugEnv=0

# Alternate file logger
[logger.file]
#level=DEBUG
level=ERROR
file=/usr/local/log/httpd/jk2.log

[shm]
file=/usr/local/apache2/logs/shm.file
size=1048576
[channel.socket:localhost:8009]
tomcatid=localhost:8009
[uri:/test/*]
info=Example webapp in the default context.
context=/test

 

mod_jk2.so文件加载的时候会自动加载该配置文件的。基本这样设置就ok了,能够访问了,一般情况不会出错的。

 

还有另外一种设置方法:通过proxy模块,不过只有apache2.以上才支持。现在推荐使用。

在linux下,安装完apache之后modules目录下是没有mod_proxy.so,mod_proxy_http.so,mod_proxy_connect.so等模块的。这些都需要手动编译。

 

编译.so文件:

在源码路径下modules/proxy。利用apache的扩展工具apxs,

编译模块mod_proxy.so:/usr/local/apache2/bin/apxs -c -i mod_proxy.c proxy_util.c 将生成modules/mod_proxy.so文件。

将模块mod_proxy.so添加到httpd.conf文件中:/usr/local/apache2/bin/apxs -i -a -n proxy mod_proxy.la   该模块即被加载到httpd.conf文件中去了。

其他模块以同样的方法添加。

/usr/local/apache2/bin/apxs -c proxy_http.c
/usr/local/apache2/bin/apxs -i -a -n proxy_http proxy_http.la

----- 添加proxy_http.so模块。

 

然后修改httpd.conf文件:

在文件最后添加以下内容:

<Location /wapback >
            ProxyPass http://192.168.1.2/test
</Location>

/wapback表示虚拟路径,即在浏览器中要访问的路径,

http://192.168.1.2/test 表示要跳转的路径。

 

 

经常会遇到的几个异常:

=========1========

503错误

Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
原因:这是apache转发的时候出错,这可能是tomcat没有正确启动,

 

=========2==========

找不到网页

您要查看的网页可能已被删除、名称已被更改,或者暂时不可用

原因:这是路径错误,没有该目录。

 

=========3==========


无法显示网页
您正在查找的页当前不可用。 网站可能遇到支持问题,或者您需要 调整您的浏览器设置。
找不到服务器或 DNS 错误
Internet Explorer

原因:ip地址错误或者域名错误

=========4=========

HTTP Status 404 - /wxltongji/df


type Status report

message /wxltongji/df

description The requested resource (/wxltongji/df) is not available.


Apache Tomcat/5.0.28

原因:这是由于tomcat解析出错,tomcat应用下没有该文件。

 

这几天的努力总算有点成果,不错,值得鼓励一下。。可能还有很多理解得不是很到位之处,还希望能和各位多多探讨。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值