日期:2014-05-16  浏览次数:20668 次

Apache 整合 Tomcat
今天因工作上需要,需对Apache与Tomcat两者进行整合,网上找了些资料,在此整理一下,以便自己与他人。

一、准备工作:1、  Apache 2.0.55
下载地址:http://archive.apache.org/dist/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi
2、  Tomcat 5.5
下载地址:http://tomcat.apache.org/download-55.cgi
3、  jdk1.5
下载地址:http://java.sun.com/j2se/1.5.0/download.jsp
4、JK-apache-2.0.55
下载地址:
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/mod_jk-apache-2.0.55.so

注意jk的版本一定要与你的apache版本相同。Jk下载可以直接到apache.org官网下载,有多种版本,适用于各种操作系统,地址如下:
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
windows用户进入win32目录,不同的tomcat对应不同jk文件扩展名不同,有可能是*.dll,或者*.so,根据你的tomcat版本下载合适的jk版本。

二、JDK的安装与配置环境变量就不多说了。

三、配置服务器

    1.配置Tomcat
workers.properties
查找目录下的%TOMCAT%/conf/workers.properties文件,并对比下方文本内容,如有不同以下方内容为准修改。如果文件不存在则创建。并填充以下内容。%TOMCAT_HOME%和% JAVA_HOME %要根据自己的实际情况来修改。

workers.tomcat_home=%TOMCAT_HOME%  #让mod_jk模块知道Tomcat的位置
workers.java_home=%JAVA_HOME%     #让mod_jk模块知道jre的位置
ps=\
worker.list=ajp13 #模块版本
worker.ajp13.port=8009            #工作端口,若没占用则不用修改
worker.ajp13.host=localhost        #本机,若上面的Apache主机不为localhost,作相应修改

worker.ajp13.type=ajp13           #类型
worker.ajp13.lbfactor=1            #代理数,不用修改


    2.配置Apache

打开%APACHE_HOME%\conf下的httpd.conf,在最后加入下面这段代码并保存。%TOMCAT_HOME%为你的TOMCAT_HOME安装目录,配置时请注意修改。

#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk_2.0.55.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "%TOMCAT_HOME%/conf/workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "%TOMCAT_HOME%/logs/mod_jk2.log"
#指定日志存放位置
JkLogLevel info

#设置虚拟主机
<VirtualHost localhost>
ServerAdmin localhost
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /ServicesServlet/* ajp13
JkMount /image ajp13
JkMount /Login ajp13
JkMount /Logout ajp13
#让Apache支持对servlet传送,用以Tomcat解析,只要在web.xml上配置的servlet映射都需要在这里配置,现在只列出了四个做为例子
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do ajp13
#让Apache支持对.do传送,用以Tomcat解析
</VirtualHost>

    3配置Apache支持shtml
打开%APACHE_HOME%\conf下的httpd.conf
搜索“AddType text/html .shtml”, 搜索结果:
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml
把这两行前面的#去掉。

然后搜索“Options Indexes FollowSymLinks”
在搜索到的那一行后面添加“ Includes”
即将该行改变为 Options Indexes FollowSymLinks Includes

然后搜索“<Directory />”, 搜索结果:
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

修改必为:
<Directory />
    Options FollowSymLinks Includes
    AllowOverride None
</Directory>

保存httpd.conf,重起apache即可。

测试:
打开IE,输入 http://localhost 如果看到的小猫。整合成功,没看到?重头再来