windows下apache tomcat整合

准备工作

1、 httpd-2.2.22-win32-x86-openssl-0.9.8t.msi

下载地址:http://apache.etoak.com//httpd/binaries/win32/httpd-2.2.22-win32-x86-openssl-0.9.8t.msi

2、 apache-tomcat-6.0.20.zip(免安装版-绿色版)

下载地址:http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.zip

3、 jdk1.6.0_18

下载地址:

如果只是应用的话,也可以选择安装JRE,因为JRE比较小:)

4 JK:mod_jk-apache-2.2.2.so

下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.18/mod_jk-apache-2.2.2.so

注意JK的版本一定要与Apache版本相同。如果你的版本与我的不同,可以去官网下载,有多种版本,适用于各种操作系统,下载适用的既可

开始安装:

1、安装JDK(JRE)

此处默认、自定义安装均可。安装完成以后按下面的示例设置你的系统环境变量:我的电脑 -> 属性 -> 高级 -> 环境变量 (这里要添加的是系统变量,非用户变量)

JAVA_HOME = C:\Program Files\Java\jdk1.6.0_18(可以不定义,只是为了能够在tomcat下的通过批处理命令正常启动tomcat)

CLASSPATH = .;C:\Program Files\Java\jdk1.6.0_18\jre\lib

PATH = C:\Program Files\Java\jdk1.6.0_18\bin

2、安装Apache

安装完成之后,如果apache用的是80端口,那么在浏览器中输入 http://localhost ,如果使用的是其它端口例如81,则输入http://localhost:81

3、安装Tomcat

将Tomcat解压到 D:\Program Files\Tomcat 下(设置环境变量:

CATALINA_BASE = D:\software\apache-tomcat-6.0.20\apache-tomcat-6.0.20

CATALINA_HOME = D:\software\apache-tomcat-6.0.20\apache-tomcat-6.0.20

CLASSPATH = %CATALINA_HOME%\lib\servlet-api.jar

最后系统环境变量path为:

PATH =.;java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\bin;%tomcat_home%\common\lib\servlet.jar,可以不定义)

运行 D:\Program Files\Tomcat\bin\startup.bat )启动Tomcat,出现Tomcat页面则表示安装成功。

4、安装JK

把 mod_jk-apache-2.2.2.so 拷贝到 D:\Program Files\Apache Software Foundation\Apache2.2\modules 下。

修改Apache配置文件httpd.conf

在apache安装目录下conf目录中找到http.conf

  (

    端口:Listen 80 这是默认的,大家可以改这里

    模块:里面有一堆模块在其中添加一个LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so

    ServerAdmin:不用改,是个邮件地址

    ServerName:服务器名称,可以用ip也可用dns,这里通常注释了,我们通常把注释给去掉,否则当你启动apache的时候会

报Could not reliably determine the server's fully qualified domain name, using 192.168.0.142 for ServerName错误,

但是这并不影响你的程序的运行

    DocumentRoot:工程的根路径,和Tomcat里配置的虚拟目录docBase属性相同

    <Directory " ">:这里必须和DocumentRoot设置一样

    <VirtualHost localhost>

      DirectoryIndex index.html index.htm index.jsp

      JkMount /servlet/* ajp13

      #让Apache支持对servlet传送,用以Tomcat解析

      JkMount /*.jsp* ajp13

      #让Apache支持对jsp传送,用以Tomcat解析

      JkMount /*.bst* ajp13

      #让Apache支持对.bst传送,用以Tomcat解析

      JkMount /RandCode* ajp13

      #让Apache支持对Servlet传送,用以Tomcat解析

    </VirtualHost>

  )

然后在文件最后加上下面一句话就可以了

include conf/mod_jk.conf

在httpd.conf 文件同目录下新建mod_jk.conf文件(没有创建一个新的),内容如下

# 加载mod_jk模块,此处的mod_jk.so为你复制到modules/下的mod_jk名

LoadModule jk_module modules/mod_jk-apache-2.2.2.so

# 指定 workers.properties文件路径

JkWorkersFile "D:/software/apache-tomcat-6.0.20/apache-tomcat-6.0.20/conf/workers.properties"

# 设置日志存放路径

JkLogFile "D:/software/apache-tomcat-6.0.20/apache-tomcat-6.0.20/logs/mod_jk.log"

# 设置日志级别 [debug/error/info]

JkLogLevel info

# 设置日志格式

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"

# Send servlet for context /examples to worker named ajp13

#JkMount /servlet/* ajp13

# Send JSPs for context /examples to worker named ajp13

JkMount /* ajp13

在http.conf同目录下新建 workers.properties文件,内容如下

workers.tomcat_home=D:\software\apache-tomcat-6.0.20\apache-tomcat-6.0.20 #让mod_jk模块知道jdk

workers.java_home=C:\Program Files\Java\jdk1.6.0_18\jre

ps=\ #指定文件路径分割符

worker.list=ajp13 #上面的配置有用到的,不是将servlet和jsp都交给他了吗

worker.ajp13.port=8009 #工作端口,若没占用则不用修改

worker.ajp13.host=localhost #Tomcat服务器的地址

worker.ajp13.type=ajp13 #类型

worker.ajp13.lbfactor=1 #负载平衡因数

到这里配置就完成啦,在apache的主目录里面创建test.jsp 然后在里面写几个字.再用http://localhost/test.jsp 或者http://localhosthttp://localhost:8080的结果一样则配置成功

分析主要易出错细节:基本上按照基本配置每个人都会,但是往往不容易配置成功,原因是这里面的workers.properties、mod_jk.conf、http.conf几个配置文件的内容里及其之间存在引用,所以路径一定要注意弄清楚,该不该加引号,该不该使用绝对路劲,否则导致失败