Linux环境下Apache与Tomcat共存

Linux系统下Apache与Tomcat整合的简单方法 新客网 XKER.COM 2007-07-26 来源: kit 收藏本文1、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。

1、到Apache官方网站下载所需要的文件:

httpd-2.2.4.tar.gz
apache-tomcat-6.0.13.tar.gz
tomcat-connectors-1.2.23-src.tar.gz

2、安装Apache。
# tar xzvf httpd-2.2.4.tar.gz
# cd httpd-2.2.4
# ./configure --prefix=/usr/local/apache
--with-mpm=worker --enable-module=so
--enable-mods-shared=all
--enable-ssl=shared
--enable-deflate=shared
# make
# make install

3、安装Tomcat。
# cp apache-tomcat-6.0.13.tar.gz /usr/local/
# cd /usr/local/
# tar xzvf apache-tomcat-6.0.13.tar.gz
# ln -s apache-tomcat-6.0.13 tomcat (此步可省略)

4、编译生成mod_jk。
# tar xzvf tomcat-connectors-1.2.23-src.tar.gz
# cd tomcat-connectors-1.2.23-src/native
# ./configure --with-apxs=/usr/local/apache/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache/modules/

5、配置。
在/usr/local/apache/conf/下面建立两个配置文件mod_jk.conf(或写到APACHE的主配置文件中)和workers.properties。
# vi mod_jk.conf
添加以下内容:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理

JkMount /servlet/* lb-server
JkMount /*.jsp lb-server
# vi workers.properties

添加以下内容:

# Defining a worker named worker1 and of type ajp13
worker.list=lb-server
# Set properties for worker1
worker.lb-server.type=ajp13
worker.lb-server.host=localhost
worker.lb-server.port=8009
worker.lb-server.lbfactor=50
worker.lb-server.cachesize=10
worker.lb-server.cache_timeout=600
worker.lb-server.socket_keepalive=1
worker.lb-server.socket_timeout=300

再配置httpd.conf,作以下修改:

将Listen 80 修改为 Listen 127.0.0.1:80

将ServerName 修改为 ServerName LocalHost:80

在DirectoryIndex中添加 index.jsp

我的网页放在/var/www下,所以要修改DocumentRoot

DocumentRoot "/var/www"
<Directory "/var/www">
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>
<Directory "/var/www/WEB-INF">
Order deny,allow
Deny from all
</Directory>

增加关于加载mod_jk的语句:

LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache/conf/mod_jk.conf

最后编辑Tomcat的配置文件server.xml,在HOST段中加入:

<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>

在/var/wwwroot下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

以上也可以写到APACHE配置文件中,即可以更改HTTPD.CONF文件,如下:

LoadModule jk_module modules/mod_jk.so
# Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp lb-server

然后,修改workers.properties,把需要的WORKLIST加上,然后,将页面传到到网站指定主目录,启动TOMCAT,APACHE即可看到页面。