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