您当前位置:lerx平台搭建
本类热点
推荐阅读
文章正文
Windows 2003平台利用JK整合Apache和Tomcat步骤
2010-08-24 15:35:13
lzh

所需下载的软件、模块或文档(可以单击本地下载,可以根据实际需要到相关网站下载更高版本):

apache-tomcat-6.0.29.exe

httpd-2.2.16-win32-x86-no_ssl.msi

jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe

mod_jk-1.2.30-httpd-2.2.3.so

mod_jk.conf

workers.properties

首先安装相关软件

jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe --> JDK

httpd-2.2.16-win32-x86-no_ssl.msi --> Apache

apache-tomcat-6.0.29.exe --> Tomcat

安装Tomcat时可能会要求选择一下JDK的目录。其它都很简单,但注意一下,请在安装目录时最好不要用默认值,最好在其它盘中建立一个没有空格的目录。比如:d: \tomcat及d:\apache,因为本人在下午调试多次不成功的时候发现了这种问题(后面会谈到)。

安装好了,测试一下。输入下面的两个网址:

http://yourip/

http://yourip:8080/

能正常显示就行了。比如出现下面的两个界面:

将mod_jk-1.2.30-httpd-2.2.3.so改名为mod_jk.so,复制到Apache的安装目录下的conf下。

根据实际文件地址,修改workers.properties和mod_jk.conf文件。

------------------- workers.properties 文件内容--------------------

#workers.properties

#

# list the workers by name

worker.list= s1

# localhost server 1

# ------------------------

worker.s1.port=8009 #Tomcat ajp13协议的 port

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

worker.s1.type=ajp13 #协议类型

# localhost server 2

# ------------------------

# worker.s2.port=8209

# worker.s2.host=localhost

# worker.s2.type=ajp13

# worker.s2.stopped=1

worker.DLOG4J.type=lb

worker.retries=3

worker.DLOG4J.balanced_workers=s1

worker.DLOG4J.sticky_session=1

worker.status.type=status

------------------- mod_jk.conf 文件内容--------------------

#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/* s1

JkMount /*.jsp s1

JkMount /*.action s1

JkMount /*.do s1

JkMount /lunchGroup/* s1

因为mod_jk.conf里的文件地址是我前段时间安装Linux服务器时写的,所以现在得把JkWorkersFile和JkLogFile的值改变一下,根据实际的安装地址修改。但注意可能是不支持有空格的目录和文件路径。我今天调试时发现了不可理解的错误,最后把mod_jk.log和workers.properties拷贝了一份到c:\tmp下然后,修改上面两行为:

JkWorkersFile c:\tmp\workers.properties

JkLogFile c:\tmp\mod_jk.log

问题消失。

最后修改Apache的conf/httpd.conf配置文件,找到#LoadModule XXXX到最后一行插入如下两行:

LoadModule jk_module modules/mod_jk.so

Include conf/mod_jk.conf

重启apache和tomcat,在浏览器中的URL(不加8080的那个)后面随便输入一个jsp文件名,如果能出现下面的图样,说明整合成功。

说明:网络上的经验文档一般为JK2的整合方法,但Apache Tomcat早在几年前就放弃了JK2的支持与研发,所以目前JK整合方法唯一适应这种形势。

最后说明一下本文的winows 2003调试环境是采用虚拟机实现的。