Tomcat5和IIS6整合
环境:
Windows 2003 Server中文版+IIS6+Tomcat5.0.28,JDK 1.4.2安装目录为C:j2sdk1.4.2_05,Tomcat安装目录为D:Program FilesTomcat 5.0,环境变量JAVA_HOME和TOMCAT_HOME都已设置好并指向其各自的安装目录。(注意,接下来所有文件中涉及到tomcat路径的请自行修改为自己的Tomcat路径) Tomcat5和IIS6的安装我就不说了,网上的文档很多,假定此时我们已经安装好了Tomcat5和IIS6并都能独立运行,两者的默认网站均指向C:web目录。 现在我们要做的是 http://apache.linuxforum.net/tomcat/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip 去下载JK2, 由JK2负责IIS和Tomcat的通讯,解开后得到isapi_redirector2.dll,我把它放在了%TOMCAT_HOME%iis下(目录随便)。 1、在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 2、在注册表中加入项 "HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationJakarta Isapi Redirector2.0" 在这个项中追加一个字串值,名称=extension_uri 值=/jakarta/isapi_redirector2.dll 在这个项中追加一个字串值,名称=log_level 值=debug (根据情况选择 debug/inform/error/emerg) 在这个项中追加一个字串值,名称=worker_file 值=$TOMCAT_HOMEconfworkers2.properties (根据自己环境作相应的设定) 注意:2.0不用加入confuriworkermap.properties文件,注册项的名称一定要正确,包括空格 当然也可以自建一个注册表文件 注册表.reg 内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationJakarta Isapi Redirector2.0] "serverRoot"="$TOMCAT_HOME" "extensionUri"="/jakarta/isapi_redirector2.dll" "workersFile"="$TOMCAT_HOMEconfworkers2.properties" "logLevel"="DEBUG" 你是否已经看出isapi_redirector2.dll文件所需要的这么几个参数?有兴趣可以去看isapi_redirector2.dll的源代码。 3.设置IIS 在默认Web站点上点击右键选"属性",在弹出的页框里选择"ISAPI筛选器",点"添加",筛选器名称填jakarta,可执行文件中填入你的isapi_redirector2.dll的绝对路径。"确定"后点"确定"关闭属性页。再在"默认网站"上右键,选择"新建"->"虚拟目录",别名填jakarta,下一步,路径选为你的isapi_redirector2.dll存放的目录,我的是C: omcatiis,下一步,权限中记得把"执行"那项打勾,好了,完成。 如果你用的是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安装目录下的commonlib目录中是否有tools.jar文件(Tomcat5好像是有的,但Tomcat4中是没有的),没有的话从JDK的lib下拷一个过去。 3.IIS指向的目录最好和Tomcat指向的目录一致,不然会发生找不到图像和其他资源文件的问题。(这点不影响执行) 4.英文文档中还提到应该把IIS6设置为IIS5隔离模式,"Internet信息服务管理器"->"网站"->"属性"->"服务",把"以IIS5.0隔离模式运行WWW服务"打上勾。不过我不打勾也能正常使用,如果你配置不成功也可以试试这个。 现在我们尝试一下http://localhost:8080/../hello.jsp,是不是jsp文件的源代码都出来了?我们现在来修补一下这个缺陷。 本文出自 51CTO.COM技术博客解决方法:控制面板->管理工具->Internet服务管理器,选中"所有网站"->属性,在"主属性"中点击"编辑",进入"WWW服务主属性"页面,选择"主目录",点击"应用程序设置"中的"配置",添加一个ISAPI应用程序,可执行文件就用那个isapi_redirector2.dll,扩展名用jsp,确定,然后重启IIS,问题解决!!! |


suifeng1984
博客统计信息
热门文章
最新评论
友情链接