Apache与Tomcat4整合实例

由 alenxcn 在 11-01-2002 21:54 发表:

此问题有点难度(apache+tomcat配置问题),各位往里看.

我在配置apache(httpd2.0.43)+tomcat(4.1.12)中出了一个问题,不知道怎么解决,还忘各位帮忙!谢谢!

基本情况如下:

apache配置正常工作( http://10.0.0.1 )

tomcat配置正常工作( http://10.0.0.1:8080 )

现在我想通过apache的访问tomcat的examples( http://10.0.0.1/examples/

出现错误如下:

|--------------------------------------------------------------|

|WebApp: Error 404 |

|--------------------------------- |

|(File: /tmp/jakarta-tomcat-connectors-4.1.12- |src/webapp/lib/wa_request.c Line: 205) |

|--------------------------------------------------------------|

| Web-application not yet deployed(Web-application还没有被配置)|

|--------------------------------------------------------------|

我通过查看wa_request.c文件了解到造成这种原因是由于:

If the application is not yet deployed that could be because Apache was started before Tomcat.

我现在想知道的是:我该如何配置Web-application,在哪里配置?

非常感谢!


由 quizas 在 11-25-2002 11:16 发表:

有没有关于apache和tomcat整合的文章

谢谢


由 chinsoft 在 11-28-2002 19:27 发表:


用google搜一下,网上有很多的。


由 winix 在 11-29-2002 10:30 发表:


http://www.linuxforum.net/forum/gsh...=all&fpart=

RedHat7.2下Apache与Tomcat4整合实例

在此介绍一下我在RedHat Linux 7.2下装Apache与Tomcat4整合的过程,重点讲述mod_webapp.so的制作方法,

以及在虚拟主机环境下的配置、管理和应用,经测试已经成功。希望对各位有所帮助,如有错误也请指正。

一、正确安装Tomcat4

必要软件的安装,如下:

1、Java SDK

版本1.3.1或1.4,建议安装在/usr/java下,并做一个jdk的软链接。

如果在装版本1.3.1的SDK出现问题,请阅读文档: http://java.sun.com/j2se/1.3/install-linux-sdk.html

2、Tomcat4

建议安装最新release版本的二进制文件安装包。当前最新的tomcat版本是4.1.12。

下载地址: http://jakarta.apache.org/builds/ja...t-4.1.12.tar.gz

本例将tomcat安装在/opt目录下,并做了个tomcat的软链接。

设置如下环境变量并启用:

PATH=$PATH:/usr/java/jdk/bin:/usr/java/jdk/jre/bin

JAVA_HOME=/usr/java/jdk

export JAVA_HOME

CLASSPATH="./:/usr/java/jdk/lib:/usr/java/jdk/jre/lib"

export CLASSPATH

CATALINA_HOME=/opt/tomcat

export CATALINA_HOME

建议单建一个用户tomcat,将其设成/opt/tomcat以下所有目录文件的属主,并由它启动tomcat:

useradd tomcat

chown -R tomcat:tomcat /opt/tomcat

su - tomcat -c "/opt/tomcat/bin/startup.sh"

访问 http://localhost:8080/ 应能看到tomcat安装成功的页面。

二、Apache与Tomcat4的整合

1、首先安装Apache,请注意Apache必须安装DSO模式,即在执行./configure时须加上 --enable-module=so

默认安装到/usr/local/apache目录下。本例安装的apache的版本是1.3系列的。

2、制作mod_webapp.so

需要以下软件包:

jakarta-tomcat-connectors-4.x.xx-src.tar.gz

下载地址在tomcat对应版本的src目录下。例如,我安装的tomcat版本是4.1.12,则现在所需要的软件包的位置是:

http://jakarta.apache.org/builds/ja...1.12-src.tar.gz

apr-0.9.1.tar.gz

下载地址: http://www.apache.org/dist/apr/apr-0.9.1.tar.gz

autoconf-2.52-ximian.1.i386.rpm

下载地址: http://rpmfind.net/linux/RPM/helix/...ian.1.i386.html

先用rpm安装autoconf-2.52,因为下面的安装将要用到;

然后解开jakarta-tomcat-connectors-4.1.12-src.tar.gz,生成jakarta-tomcat-connectors-4.1.12-src目录,

进入jakarta-tomcat-connectors-4.1.12-src/webapp的目录里,再把apr-0.9.1.tar.gz解到这个目录下,

并把刚生成的目录apr-0.9.1的目录名改成apr。

还是在webapp目录,运行以下命令:

support/buildconf.sh

此时如果autoconf的版本低于2.52的话会报错退出,所以必须先安装autoconf-2.52。

当命令成功结束后会在当前目录下生成configure文件。

依次运行以下命令:

./configure --with-apxs=/usr/local/apache/bin/apxs

make

cp apache-1.3/mod_webapp.so /usr/local/apache/libexec

现在mod_webapp.so已经制作好了,并已经拷贝到apache的libexec目录下。

编辑apache的配置文件,在最后加上如下几行:

==========================

LoadModule webapp_module libexec/mod_webapp.so

AddModule mod_webapp.c

WebAppConnection warpConnection warp localhost:8008

WebAppDeploy examples warpConnection /examples

==========================

运行以下命令:

/usr/local/apache/bin/apachectl configtest

只要出现“Syntax OK”就表明mod_webapp.so已经安装成功了。

启动apache

/usr/local/apache/bin/apachectl start

访问 http://localhost/examples 就可以看到tomcat的例子程序了。

三、虚拟主机下的配置、管理和应用

下面以一个例子来说明虚拟主机如何同时使用Apache与Tomcat4。

虚拟主机host1的目录结构如下所示:

/www

|---host1 虚拟主机host1的主目录

| |--htdocs 普通根目录:用于显示静态页面或php程序

| |----logs apache访问日志

| |----webapps java应用目录(新加目录,与tomcat的webapps目录无任何关联)

| |--ROOT jsp根目录:用于显示jsp页面程序

| |----jive 一套java应用实例

|---host2 虚拟主机host2的主目录

............

原来的apache的配置文件是这样配置的:

=====================================

NameVirtualHost xxx.xxx.xxx.xxx

 1<virtualhost xxx.xxx.xxx.xxx="">   
 2  
 3ServerName host1.mydomain.com   
 4  
 5ServerAdmin [email protected]   
 6  
 7DocumentRoot /www/host1/htdocs   
 8  
 9ErrorLog /www/host1/logs/error_log   
10  
11CustomLog /www/host1/logs/access_log common   
12  
13</virtualhost>

.............

=====================================

现在要让虚拟主机host1能同时使用Apache与Tomcat4,需要做如下配置:

1、编辑tomcat的配置文件server.xml,在最后的部分做如下修改:

=====================================

 1<service name="Tomcat-Apache">
 2<connector acceptcount="10" appbase="webapps" classname="org.apache.catalina.connector.warp.WarpConnector" debug="0" enablelookups="true" maxprocessors="75" minprocessors="5" port="8008"></connector>
 3<engine classname="org.apache.catalina.connector.warp.WarpEngine" debug="0" name="Apache">
 4<logger classname="org.apache.catalina.logger.FileLogger" prefix="apache_log." suffix=".txt" timestamp="true"></logger>
 5<realm classname="org.apache.catalina.realm.MemoryRealm"></realm>
 6<!-- 下面是新加的内容 -->
 7<host appbase="/www/host1/webapps" autodeploy="true" debug="0" name="host1.mydomain.com" uppackwars="true">
 8<context debug="0" docbase="ROOT" path=""></context>
 9<!-- 下面套用的是tomcat自带的管理页面,在虚拟主机下也可使用 -->
10<context debug="0" docbase="/opt/tomcat/server/webapps/manager" path="/manager" privileged="true"></context>
11<context crosscontext="true" debug="0" docbase="jive" path="/jive" reloadable="true"></context>
12<logger classname="org.apache.catalina.logger.FileLogger" prefix="host1_log." suffix=".txt" timestamp="true"></logger>
13</host>   
14  
15  
16  
17&lt;</engine></service>
Published At
Categories with 服务器类
Tagged with
comments powered by Disqus