IIS6+TOMCAT整合,实战实例!

(编辑:jimmy 日期: 2024/12/27 浏览:2)

搞定了IIS6和Tomcat的整合。现在把步骤贴出来给各位一点参考,也免去了新手在Google上暴走和一次次的调试。开始吧! 
  首先先说明我的系统,Windows 2003 Server中文版+IIS6+Tomcat5.5.17,JDK 1.5安装目录为D:\JDK1.5,Tomcat安装目录为D:\Tomcat5.5,
    环境变量JAVA_HOME和TOMCAT_HOME都已设置好并指向其各自的安装目录。(注意,接下来所有文件中涉及到tomcat路径的请自行修改为自己的Tomcat路径) 
      Tomcat5和IIS6的安装我就不说了,网上的文档很多,假定此时我们已经安装好了Tomcat5和IIS6并都能独立运行,
    两者的默认网站均指向C:\web目录。 
   
  现在我们要做的是去下载isapi_redirector2.dll,由JK2负责IIS和Tomcat的通讯,,我把它放在了D:\tomcat5.5\iis下(目录随便)。 
  接下来在Tomcat安装目录下的conf目录下建一个workers2.properties文件,把下面这段东东拷进去保存。注意file=".."之中的路径要用"/"哦! 

#----------START--------------------------------------------
[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 

#
request.tomcatAuthentication=false 
#---------END------------------------------------------------


  之后编辑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"="D:\\Tomcat5.5" 
  "extensionUri"="/jakarta/isapi_redirector2.dll" 
  "workersFile"="D:\\Tomcat5.5\\conf\\workers2.properties" 
  "logLevel"="INFO" 
--------------------------------------------------------------

  然后打开“我的电脑->控制面板->管理工具->Internet信息服务管理器”,在里面选择“网站”中的默认网站(默认网站我假定指向e:\cnyesoft.com),在其上点右键选“属性”,在弹出的页框里选择“ISAPI筛选器”,点“添加”,筛选器名称填jakarta,可执行文件中填入你的isapi_redirector2.dll的绝对路径。“确定”后点“确定”关闭属性页。再在“默认网站”上右键,选择“新建”->“虚拟目录”,别名填jakarta,下一步,路径选为你的isapi_redirector2.dll存放的目录,我的是d:\tomcat5.5\iis,下一步,权限中记得把“执行”那项打勾,好了,完成。 
  如果你用的是IIS5的话,到这里就可以结束了,但IIS6还没完,继续。 
  在“Internet信息服务管理器”的“网站”中的“Web服务扩展”上点右键选择“添加一个新的Web服务扩展”,弹出的框中扩展名填Tomcat(其实无所谓的),“要求的文件”选“添加”然后找到你的isapi_redirector2.dll后“确定”。“设置扩展状态为允许”也打上勾,确定。 
  好了,配置完了。现在我们启动Tomcat5.5,然后启动IIS6。键入http://localhost:8080/hello.jsp(这个文件是我放在e:\cnyesoft.com下的)看看!然后在看看http://localhost/hello.jsp,如果两者执行结果一样,恭喜你,整合成功了! 
#########################注意#########################################################
问:TOMCAT装在D盘,我想运行E盘里的JSP文件,怎么设置?
答:
    例:我的Tomcat装在D盘
    d:\tomcat-5.5\conf\Catalina\localhost\ROOT.xml 
    ROOT是工程名(默认的目录,可以更改)。 
    ROOT内容是:
        <Context path="/ROOT" docBase="E:\cnyesoft.com" reloadable="true"/>
        docBase就是你项目的目标地址,如果你放在E:\cnyesoft.com,可以直接改。。 
    例:
        Root.XML内容是:
        <Context path="/ROOT" docBase="E:\cnyesoft.com" reloadable="true"/>
#####################################################################################

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

  还不行?好,我们来狠的,打开机箱,取出硬盘,扔到地上给我踩,踩,踩!看你还敢跟我顶^_^(开个玩笑,不过之前我配置多次失败后确实有些无奈和懊恼) 
  此文实际也等于是转载,我只是实际操作了一遍而已,如有错误请指出!欢迎各位与我交流,cnyesoft@126.com,JSP程序员,EJB学习中...... 
点击下载TXT文件
 点击下载isapi_redirector2.dll及文件