2009-05-30, 02:44 PM | #1 |
注册日期: 2003-10-22
帖子: 11,053
积分:6
精华:24
现金:14348金币
资产:29325305金币
|
IIS6 和Tomcat5 的整合
花了很久时间,终于搞定了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/ja...-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-...is6-howto.html |
|
2009-05-30, 02:47 PM | #2 |
注册日期: 2003-10-22
帖子: 11,053
积分:6
精华:24
现金:14348金币
资产:29325305金币
声望: 395
|
本次配置在以下环境下: Windows server 2003 + tomcat5.028+IIS6.0 一 准备工作 1)确保IIS和Tomcat按住正确,我的Tomcat装在D:\Tomcat 5.0; 2)下载文件 isapi_redirector2.dll ,可以放在任意目录,本次放在D:\000文件夹; 3)在D:\Tomcat 5.0\conf目录下新建一个文件workers2.Properties,输入以下内容: [shm] file=D:/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:reynir_net:8009] channel=channel.socket:localhost:8009 # Uri mapping [uri:/*.jsp] [uri:/web/*] [uri:/view/*] worker=ajp13:localhost:8009 # define the worker [status:status] # Uri mapping [uri:/jkstatus/*] worker=status:status 4)在D:\Tomcat 5.0\conf下的文件jk2.properties中的最后加入下面这句话: request.tomcatAuthentication=false 5)在注册表注册 在注册表中增加一个新项: [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0] 并在该项中增加四个字符串值: 键名 serverRoot 键值D:\Tomcat 5.0 键名 extensionUri 键值/jakarta/isapi_redirector2.dll 键名 workersFile 键值D:\Tomcat 5.0\conf\\workers2.properties 键名 logLevel 键值DEBUG 二 集成Tomcat到IIS 打开IIS管理器,确保要发布的网站已经在IIS中配置好了,即原本已经可以浏览asp页面. 本次发布的是DFG项目. 1) 打开DFG项目的属性,选 ISAPI筛选器?添加 筛选器名称:jakarta 可执行文件: D:\000\isapi_redirector2.dll 确定. 2) 还是DFG项目的属性,选 主目录? 本地路径:H:\DFG(发布网站所在的目录) (说明:本地路径可以直接定到D:\Tomcat 5.0\webapps,也可以定到任意目录.定到D:\Tomcat 5.0\webapps则不用修改server.xml的内容,但是发布的网站都将放到webapps下面;若定到外面的,则要在server.xml中写进去.总之若要整合Tomcat到IIS,则要让Tomcat知道IIS的发布目录.) 点”配置”?”添加” 可执行文件: D:\000\isapi_redirector2.dll 扩展名: .jsp 确定 3) 在DFG新建一个虚拟目录,名为 jakerta,路径映射到D:\000\ 执行权限:脚本和可执行文件 点”配置”?”添加” 可执行文件: D:\000\isapi_redirector2.dll 扩展名: .jsp 确定 4) 进入Web服务扩展,点添加一个行的Web服务扩展,扩展名写Jakarta,要求的文件选D:\000\isapi_redirector2.dll,点确定。 5) 修改D:\Tomcat 5.0\conf下的server.xmlwenj 在217行后面(即<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true"autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"> 后面)加入 <Context path="/DFG" docBase="H:\\DFG" debug="0"></Context> 6) 做好之后,重新启动Tomcat和IIS.要说明一点的是,重新启动IIS一定要重启World Wide Web Publishing Service,不能只重启IIS中的一个网站. 三 测试 1) 打开IIS管理器中,DFG属性的ISAPI筛选器 ,绿色箭头表明筛选器配好了,红色则没配好. 2) 浏览器输http://10.0.0.4:8080/manager/html (10.0.0.4是主机IP),看是否有/DFG 进入DFG看是否能访问JSP页面 本例http://10.0.0.4:8080/DFG/asdf.jsp 可以访问,去掉端口号8080,即 http://10.0.0.4/DFG/asdf.jsp 仍然可以访问,表明配置成功.(此处DFG与server.xml中的Context path="/DFG"对应,浏览器里面一定要加入域名 |
|
2009-05-30, 03:24 PM | #3 |
注册日期: 2003-10-22
帖子: 11,053
积分:6
精华:24
现金:14348金币
资产:29325305金币
声望: 395
|
1 参考网址 http://zhidao.baidu.com/question/30980954.html 2 环境 Windows2003、IIS6.0、D:\apache-tomcat-5.5.23、D:\jdk\jdk1.5.0_06 3 下载一个整合需要的文件isapi_redirect.dll 下载地址http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32 我下载的是isapi_redirect-1.2.26.dll版本 在tomcat下新建文件夹isapi,然后将isapi_redirect-1.2.26.dll拷贝到tomcat安装目录下的isapi文件夹里 4 建立一个注册表文件isapi_redirect.reg,输入内容 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0] "log_file"="D:\\apache-tomcat-5.5.23\\logs\\isapi.log" "log_level"="debug" "worker_file"="D:\\apache-tomcat-5.5.23\\conf\\workers.properties" "worker_mount_file"="D:\\apache-tomcat-5.5.23\\conf\\uriworkermap.properties" "tomcat_start"="D:\\apache-tomcat-5.5.23\\bin\\catalina.bat start" "tomcat_stop"="D:\\apache-tomcat-5.5.23\\bin\\catalina.bat stop" "extension_uri"="/jakarta/isapi_redirect-1.2.26.dll" 5 建立conf下的workers.properties、uriworkermap.properties文件 # workers.properties workers.tomcat_home=D:\apache-tomcat-5.5.23 workers.java_home=D:\jdk\jdk1.5.0_06 ps=\ worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 # uriworkermap.properties /*.jsp=worker1 /*.action=worker1 6 设置IIS,开始-运行-inetmgr A 新建网站-描述(web)-路径(D:\apache-tomcat-5.5.23\webapps\ROOT)-读取权限就可以了 B 右键属性-ISAPI筛选器-添加-筛选器名称填jakarta,可执行文件中填入D:\apache-tomcat-5.5.23\isapi\isapi_redirect-1.2.26.dll C 新建虚拟目录-别名(jakarta)-路径(D:\apache-tomcat-5.5.23\isapi)-读取、执行权限 D WEB服务器扩展-点右键选择“添加一个新的Web服务扩展”,弹出的框中扩展名填JSP(无所谓的,自己随便设置名称),“要求的文件”选“添加”然后找到你的isapi_redirect-1.2.26.dll后“确定”。“设置扩展状态为允许”也打上勾,确定。 7 重启IIS、启动Tomcat 直接访问http://localhost/index.jsp 8 设置WEB-INF的取消读取 因为考虑到WEB-INF下有一些配置文件,如数据库连接方式,所以设置WEB-INF取消读取 其它不想直接让访问的文件夹,同理 9 Tomcat多域名 正式发布时,IIS里设置主机头,并指向tomcat工程目录 虚拟主机,也指向工程目录 Tomcat多域名可参考,TOMCAT多站点配置 http://blog.csdn.net/wl3115/archive/2008/06/10/2533884.aspx 10 整合后index.jsp问题 没解决 |
|