如何让IIS5.0 与Tomcat 5.0真正的协同工作(原创)

由于种种原因,我自己重新开设自己个人的Blog,欢迎大家常来光顾交流。

名称:BBBear's Blog - 执着

域名:www.bbbear.org

作者环境:

       Windows 2000 SP4 + IIS 5.0 + JDK 1.4.2(相信IIS6.0也应该能够如法炮制,如果您在Windows 2003上安装出现了问题,请您跟我联系,netfaery@163.com

       Tomcat安装路径:C:/Tomcat 5.0

       Jdk1.4 安装路径:C: /j2sdk1.4.1_02

 JAVA_HOME C: /j2sdk1.4.1_02

 CLASSPATH .;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/LIB/DT.JAR;


前期准备:

       在整合之前作者已经假定您已经成功的安装好了JDK1.4.2(现在SUN已经发行了JDK5.0,这里我只以JDK1.4.2为例,因为具体使用什么JDK并不影响服务器的配置,JDK的作用是在IIS已经将HTTP请求转发给Tomcat以后才起作用,所以等你完全配置好了您的服务器之后再重新安装更高的JDK也不会有什么大的问题。),并配置好了JAVA_HOMECLASSPATH环境变量。

 

1.安装Tomcat5.0

安装模式不用normal,而是选择full(这样会把Tomcat安装成服务模式启动,而且还有tomcat的源代码),然后按照提示进行。我的Tomcat装在C:/Tomcat 5.0下,安装路径您可以自行设置,但如果你修改了安装目录,那我后面介绍到的配置文件的相应目录您也必须一并修改。

 

2.设置环境变量TOMCAT_HOME

在桌面上“我的电脑”图标上点右键选“属性”->“高级” -> “环境变量” -> “系统变量”-> 新建变量名:TOMCAT_HOME,变量值:C:/Tomcat 5.0,点“确定”保存。

 

3.拷贝isapi_redirector2.dll

C:/Tomcat 5.0/conf下新建“jk2”文件夹(这个目录您可以自行设置,但这将影响到后面相关配置文件的参数),然后复制isapi_redirector2.dllC:/Tomcat 5.0/conf/jk2下面。

 

4.创建workers2.properties

创建workers2.propertiesC:/Tomcat 5.0/conf下,文件内容如下:

[shm]

file= C:/Tomcat 5.0/logs/jk2.log

size=1048576

 

# Example socket channel, override port and host.

[channel.socket:localhost:8009]

port=8009

host=127.0.0.1

 

# define the worker

[ajp13: localhost:8009]

channel=channel.socket:localhost:8009

 

# Uri mapping

[uri:/*.jsp]

[uri:/servlets-examples/*]

worker=ajp13:localhost:8009

 

# define the worker

[status:status]

 

# Uri mapping

[uri:/jkstatus/*]

worker=status:status

 

使用前请将文件的第二行:file= C:/Tomcat 5.0/logs/jk2.log 中的C:/Tomcat 5.0改成您的Tomcat安装路径。

 

5.创建jk2.properties

创建jk2.propertiesC:/Tomcat 5.0/conf下。其内容如下:

## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED

## WHEN YOU EDIT THE FILE.

## COMMENTS WILL BE _LOST_

## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.

# Set the desired handler list

# handler.list=apr,request,channelJni

#

# Override the default port for the socketChannel

# channelSocket.port=8019

# Default:

# channelUnix.file=${jkHome}/work/jk2.socket

# Just to check if the the config  is working

# shm.file=${jkHome}/work/jk2.shm

# In order to enable jni use any channelJni directive

# channelJni.disabled = 0

# And one of the following directives:

# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so

# If set to inprocess the mod_jk2 will Register natives itself

# This will enable the starting of the Tomcat from mod_jk2

# apr.jniModeSo=inprocess

#request.tomcatAuthentication=true

 

request.tomcatAuthentication=false

 

6.创建并导入注册表文件isapi_redirect.2.0.reg

       创建并导入注册表文件isapi_redirect.2.0.reg,其内容如下:

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi        Redirector]

 

[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/2.0]

"serverRoot"="C://Tomcat 5.0"

"extensionUri"="/jakarta/isapi_redirector2.dll"

"workersFile"="C://Tomcat 5.0//conf//workers2.properties"

"logLevel"="DEBUG"

导入之前请先修改注册表文件,把serverRoot workersFile的“C://Tomcat 5.0”替换成您的Tomcat安装路径。

 

7.设置IISISAPI筛选器

点击开始菜单 -> 设置 -> 控制面板 -> 管理工具 -> Internet 服务管理器,然后找到 你的站点(我的计算机名是BBBear,“默认 Web 站点”)。点右键 -> “属性”->ISAPI筛选器”->“添加”->筛选器名称:jakarta,可执行文件:C:/Tomcat 5.0/conf/jk2/isapi_redire
ctor2.dll
。点“确定”保存。(这里的jk2是第3步使用的文件夹。)

 

8.配置用于重定向的虚拟目录(非常关键的一步)

在“默认 Web 站点”点右键 -> 新建 -> 虚拟目录 -> 下一步 -> 别名填:jakarta ->下一步->目录选择为:C:/Tomcat 5.0/conf/jk2 -> 下一步 -> “执行(例如ISAPI应用程序或CGI)”一项一定要打上勾 -> 下一步 -> 完成。(一定要注意jakarta的名字不能改变,因为这个名字对应这注册表里jakarta对应,如果名字拼写错误将导致失败。)

重新启动“默认 Web 站点”。然后在“默认 Web 站点”点右键 ->“属性”->ISAPI筛选器”,如果“jakarta”前面的箭头是绿色的而且优先级为“高”,那么表明配置已经成功了。

如果箭头是红色,那么请您重新检查整个配置过程,看看有没有弄错的地方。如果确认一切正确无误,那就请您重新启动机器,注意一定是重新启动机器而不是重新启动IIS,再重新查看其状态,这样一般可以解决这个问题。如果还不行,请联系我。

 

10.设置环境变量TOMCAT_HOME

桌面上,“我的电脑”点右键 ->“属性”-> “高级”->“环境变量”->“系统变量”->新建变量名:TOMCAT_HOME 变量值:C:/Tomcat 5.0 -> 点“确定”保存。

 

11.拷贝JAVA编译工具包Tools.jar

C: /j2sdk1.4.1_02/lib目录下的tools.jar复制到Tomcat安装目录下的common/lib的目录下(C:/Tomcat 5.0/common/lib/)

 

12.添加默认文档

开始菜单 -> 设置 -> 控制面板 -> 管理工具 -> Internet 服务管理器 -> 找到你的站点(我的计算机名是BBBear ,“默认 Web 站点”)-> 点右键 -> “属性” -> “文档”->添加->输入“index.jsp-> 确定 -> 再添加“index.html-> 确定(因为着这是Tomcat的默认起始页面)->

13.设置网站根路径

“主目录”-> “本地路径”一栏,选择“C:/Tomcat 5.0/webapps/ROOT”。

 

14.重新启动TomcatIIS

重新启动Tomcat 然后再重新启动IIS。

 

15.看看我们的成果

此时打开http://localhost/。您看到了什么,对,Tomcat的默认页面。熟悉的“猫”的形象是不是让您感觉到激动呢。嗯,不慌,好戏还在后面呢。其实到看到了Tomcat起始页面您不应该感到惊奇,因为您仔细看看这个页面的后缀您就明白了,“HTML”对,它只是一个静态页面,而且是由IIS解析的。

好的,您现在试着打开http://localhost/jsp-examples看看,返回“该页无法显示”的错误页面,为什么?嗯,其实原因很简单,因为我们的IIS的默认目录在/webapps/root下,而jsp-examples目录是与root属于同一级别的子目录。所以当您使用上述路径访问的时候IIS无法在root目录下找到jsp-examples。怎么办?嗯,如果您对IIS很熟悉的话,您一定能想到,对,在IIS中的当前站点建立虚拟目录就好了。好的,我们现在在IIS中建立名为jsp-examples,路径为C:/Tomcat 5.0/webapps/jsp-examples的虚拟目录(这个目录是Tomcat自带的Jsp例子程序),同时建立一个名为servlets-examples,路径为C:/Tomcat 5.0/webapps/
servlets-examples
的虚拟目录(这个目录对应的为Tomcat自带的Servlet的例子程序)。为什么要这么做?待会您就知道了。

现在您再使用http://localhost/ 这个路径来访问,然后在出现的Tomcat起始页面的左下方找到JSP Examples Servlet Examples 的链接,您点击其中的 JSP Examples 后您就可以看到一个 JSP Samples 的页面,在这里有许多的JSP例程,您随便找一个,然后单击“Execute”,看看结果是什么?如果是正常的返回结果页面,嗯,恭喜您,这代表我们可以开始惊呼了,因为这代表我们前面的努力都得到了回报,IIS已经成功的将JSP页面交给Tomcat来解析。

好的,现在在让我们来看看让IIS转发Servlet请求,我们先回到Tomcat起始页面,然后试着点击Servlet Examples 链接,嗯,同样您将看到一个Servlet Samples页面,现在您也随便找一个Servlet程序然后点击“Execute”看看,如果不出意外,您应该看到正确的返回结果。嗯,我现在郑重的宣布,您已经成功完成了TomcatIIS的完美结合。恭喜!!

 

16.还需要罗嗦几句

当您在调试的时候配置都没有问题,但是就是出现“该页无法显示”的页面?为什么?在这里您需要注意三点:

第一,Tomcat的启动是需要一些时间的,尤其是您在Tomcat上使用Struts构建的站点,这个问题尤其突出。要看Tomcat是否成功启动,您可以查看Tomcat的日志文件:c:/tomcat/logs/stdout.log,如果已经包含“Server startup in 1125 ms”,则证明Tomcat服务已经启动成功。

第二,在调试中容易出现一些很奇怪的现象,例如:改变了配置,但是执行的结果页面却没有任何变化。嗯,这个问题在开发Web程序最容易出现的问题,在这里我也根据自己开发Web程序的经验告诉你一些避免的方法,当你在改变配置后,您最好不要在以前的打开页面上继续尝试,应该重新打开一个窗口,因为IE在访问有页面缓存,他会保存一些已经被打开的页面来提高性能,但这个性能对于开发者来说可能就是恶梦了。

第三,您在更改workers2.properties这个文件后,如果想让其生效您必须重新启动IIS,注意是完全启动,而不是在IIS管理器中停止,而是要让IIS进程重新启动,当然如果您也可以启动您的计算机。

文章的最后,我想向所有曾经发表过类似文章的朋友们表示感谢,因为我也是在他们已经走过的路上才试验成功的!欢迎对我提出问题和宝贵意见,我们一起来讨论和解决我们所遇到的一切问题!如果在以后我发现了新的问题,我也会追加到本文,以保证这篇文章能真的对您起到帮助。如果您喜欢您可以转载本文,但请注明出处,谢谢!

 

我的联系方式:

       昵称:笨笨熊

       QQ16401731

       EmailNetfaery@163.com

       Bloghttp://blog.csdn.net/netfaery

      

因为我是第一次使用CSDNBLOG,在发表完之后,我很有兴致的到GOOGLE上去搜索,偶然发现原来在CSDN已经有一个朋友早就发表过类似的文章,而且还配有插图,原本我也准备配上插图的,但是看来现在没有必要了,大家也可以参考这位仁兄的文章:http://blog.csdn.net/arielxp/archive/2004/06/27/27878.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值