欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IIS6 和Tomcat5 的整合

程序员文章站 2024-02-23 11:33:46
  花了很久时间,终于搞定了iis6和tomcat的整合。现在把步骤贴出来给各位一点参考,也免去了新手在google上暴走和一次次的调试。开始吧!  首先先说明我的系统,w...

  花了很久时间,终于搞定了iis6和tomcat的整合。现在把步骤贴出来给各位一点参考,也免去了新手在google上暴走和一次次的调试。开始吧!
  首先先说明我的系统,windows 2003 server中文版+iis6+tomcat5.0.14,jdk 1.4.2安装目录为c:\jdk,tomcat安装目录为c:\tomcat,环境变量java_home和tomcat_home都已设置好并指向其各自的安装目录。(注意,接下来所有文件中涉及到tomcat路径的请自行修改为自己的tomcat路径)
  tomcat5和iis6的安装我就不说了,网上的文档很多,假定此时我们已经安装好了tomcat5和iis6并都能独立运行,两者的默认网站均指向c:\web目录。
  
  现在我们要做的是到http://apache.linuxforum.net/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.2-win32-iis.zip 去下载jk2,由jk2负责iis和tomcat的通讯,解开后得到isapi_redirector2.dll,我把它放在了c:\tomcat\iis下(目录随便)。
  接下来在tomcat安装目录下的conf目录下建一个workers2.properties文件,把下面这段东东拷进去保存。注意file=".."之中的路径要用"/"哦!


[shm]
file=c:/tomcat/logs/jk2.log
size=1048576

# 实际运用时把所有的localhost和8009换成你自己的ip和端口
[channel.socket:localhost:8009]
port=8009
host=localhost

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

# uri mapping
[uri:/*.jsp]
[uri:/web/*]
worker=ajp13:localhost:8009

# define the worker
[status:status]

# uri mapping
[uri:/jkstatus/*]
worker=status:status

 

  之后编辑jk2.properties文件,确认其中是否有此一句:

  request.tomcatauthentication=false

  接下来开始编辑注册表,直接建一个iis.reg文件,把下面一段拷进去保存然后双击iis.reg把信息导入注册表。(注意,把涉及的tomcat路径改成你的tomcat的路径)

  windows registry editor version 5.00

  [hkey_local_machine\software\apache software foundation\jakarta isapi redirector\2.0]
  "serverroot"="c:\\tomcat"
  "extensionuri"="/jakarta/isapi_redirector2.dll"
  "workersfile"="c:\\tomcat\\conf\\workers2.properties"
  "loglevel"="info"


  然后打开“我的电脑->控制面板->管理工具->internet信息服务管理器”,在里面选择“网站”中的默认网站(默认网站我假定指向c:\web),在其上点右键选“属性”,在弹出的页框里选择“isapi筛选器”,点“添加”,筛选器名称填jakarta,可执行文件中填入你的isapi_redirector2.dll的绝对路径。“确定”后点“确定”关闭属性页。再在“默认网站”上右键,选择“新建”->“虚拟目录”,别名填jakarta,下一步,路径选为你的isapi_redirector2.dll存放的目录,我的是c:\tomcat\iis,下一步,权限中记得把“执行”那项打勾,好了,完成。
  如果你用的是iis5的话,到这里就可以结束了,但iis6还没完,继续。
  在“internet信息服务管理器”的“网站”中的“web服务扩展”上点右键选择“添加一个新的web服务扩展”,弹出的框中扩展名填tomcat(其实无所谓的),“要求的文件”选“添加”然后找到你的isapi_redirector2.dll后“确定”。“设置扩展状态为允许”也打上勾,确定。
  好了,配置完了。现在我们启动tomcat5,然后net start w3svc启动iis6。键入http://localhost:8080/hello.jsp(这个文件是我放在c:\web下的)看看!然后在看看http://localhost/hello.jsp,如果两者执行结果一样,恭喜你,整合成功了!

  但或许此时还不行,这时你该确认以下几点:
  1.你的“internet信息服务管理器”->“网站”->“默认网站”->“属性”->“isapi筛选器”中的jakarta是否是向上的绿色箭头?如果是红色的,检查一下你之前做的配置有没有少了或是写错了点什么,再重新配置一遍
  2.确认你的tomcat安装目录下的common\lib目录中是否有tools.jar文件(tomcat5好像是有的,但tomcat4中是没有的,网上的文档很少提到这件事,致使我多次配置失败),没有的话从jdk的lib下拷一个过去。
  3.iis指向的目录最好和tomcat指向的目录一致,不然会发生找不到图像和其他资源文件的问题。(这点不影响执行,呵呵!)
  4.英文文档中还提到应该把iis6设置为iis5隔离模式,“internet信息服务管理器”->“网站”->“属性”->“服务”,把“以iis5.0隔离模式运行www服务”打上勾。不过我不打勾也能正常使用,如果你配置不成功也可以试试这个。

  还不行?好,我们来狠的,打开机箱,取出硬盘,扔到地上给我踩,踩,踩!看你还敢跟我顶^_^(开个玩笑,不过之前我配置多次失败后确实有些无奈和懊恼)
  此文实际也等于是转载,我只是负责输入而已,如有错误请指出!欢迎各位与我交流,ymer@21cn.com,jsp程序员,ejb学习中......

  参考网址:https://www.rit.edu/~ack5504/tomcat-iis6-howto/tomcat-iis6-howto.html
       http://www.knowsky.com/3181.html