linux下的apache+tomcat整合整理

本文详细介绍如何在Linux环境下整合Apache与Tomcat,包括所需软件版本、步骤及常见问题解决方法。文章涵盖mod_jk2.so模块编译、配置文件workers2.properties的设置、以及通过proxy模块实现整合等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 用到的软件: 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没有正确启动,

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/tangmin0719/archive/2009/03/26/4025380.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值