求大虾解决,IIS与Tomcat多站点整合问题! 本帖最后由 zbh87538316 于 2011-12-22 08:48:43 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 解决了,我把JDK从1.4换到了1.6OK了 整合步骤:安装JDK->d:\Java,Tomcat->D:\Tomcat 6.0,jk->D:\Tomcat 6.0\bin\jakarta如果jk采用安装方式,则省去1-3步。 1,为IIS写注册表jk.reg 文件Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation][HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector][HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]“extension_uri”=”/jakarta/isapi_redirect.dll”“worker_file”=”D:\\Tomcat 6.0\\conf\\workers.properties”“worker_mount_file”=”D:\\Tomcat 6.0\\conf\\uriworkermap.properties”“log_file”=”D:\\Tomcat 6.0\\logs\\isapi.log”“log_level”=”debug”其中这两项“worker_file”=”D:\\Tomcat 6.0\\conf\\workers.properties”“worker_mount_file”=”D:\\Tomcat 6.0\\conf\\uriworkermap.properties”为关键,其中的文件更为关键,内容和格式都很重要,也是为什么用exe安装会好一些的原因,那样的话就不用考虑这些了。================================================================================= 2,建立配置文件 按照注册表里所写的,在D:\Tomcat 6.0\conf目录下建立两个配置文件,workers.properties和uriworkermap.properties其内容分别为:workers.properties的内容:===============================================================================worker.list=wlbworker.wlb.type=wlbworker.wlb.host=localhost //这里网上有说要改成主机域名地址,其实根本没必要,想想也是,如果主机很多的话,那怎么办?worker.wlb.port=8009========================================================================uriworkermap.properties的内容:=========================================================================/*.jsp=wlb/*.do=wlb========================================================================== 3,为jk建立物理目录下载isapi_redirect.dll文件。在 D:\Tomcat 6.0\bin目录下建立新目录jakarta,将isapi_redirect.dll复制到里面。 4,建立新网站打开IIS管理器,在左侧网站一栏新建网站:www.test.cn,其目录指向上面提到过的空目录H:\Inetpub\www.test.cn\ROOT,让网站有执行(如ISAPI应用程序或CGI)的权限。同时,在tomcat中也要建立相同的站点,修改conf/server.xml,添加:<Host name=”www.test.net“ appBase=”H:\Inetpub\www.test.cn” unpackWARs=”true” autoDeploy=”true” xmlValidation=”false” xmlNamespaceAware=”false”> <Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” prefix=”localhost_access_log.” suffix=”.txt” pattern=”common” resolveHosts=”false”/> </Host>注意站点目录与IIS中是不同的,这个会默认在ROOT中。 5,设置筛选器在IIS管理器左侧网站下面选中新建的网站www.test.cn,右键选择属性,在ISAPI筛选器标签页添加筛选器,名字为jakarta,路径为isapi_redirect.dll的路径名,即D:\Tomcat 6.0\bin\jakarta\isapi_redirect.dll。如果成功重新进入属性页,则该新建的筛选器会有一个绿色向上箭头,优先级为高,这说明jk模块加载成功。//走到此处注:此步很容易不成功,原因是权限问题,需设置D:\Tomcat 6.0\bin目录及D:\Tomcat 6.0\conf 添加IIS和IUSR这两个用户可读取权限,再重新加载,即可成功。加程序扩展,新加.jsp的程序扩展,添加时提示路径有空格,需要把头尾加上“”就可以了。 6,为jk建立虚拟目录选中网站www.test.cn,新建虚拟目录,别名为jakarta,路径为D:\Tomcat 6.0\bin\jakarta,(注安装版的jk会将dll文件放在这下面的bin中,等于深了一层,copy出来即可),使其有执行(如ISAPI应用程序或CGI)的权限。 添加IIS和IUSR这两个用户可读取权限。 7,新建应用程序扩展在IIS管理器左侧网站下面选中Web服务扩展,添加一个新的Web服务扩展,扩展名为jakarta,添加要求得文件为D:\Tomcat 6.0\bin\jakart\isapi_redirect.dll,并设置扩展状态为允许。 8,测试 打开Tomcat服务器,修改c:\WINDOWS\system32\drivers\etc\hosts文件,让www.test.cn的域名指向127.0.0.1,打开IE,输入http://www.test.cn/hello.jsp,回车,如果出现测试页面,那说明你配置已经成功。注意的问题: 1,注意你的两个配置文件workers.properties和uriworkermap.properties和注册表的新添加的内容,如用exe安装版jk,则不用担心这个了。 2,要注意IIS要对这个jakarta目录有足够的权限.如果你的筛选器添加失败很有可能是权限的原因. 3,这里有可能出现ISAPI筛选器不能加载的问题,状态一栏是红色箭头,权限问题。 4,添加新的Web 服务扩展jakarta之外还要使它允许。另外同样要注意权限的问题,因为涉及到Internet访问,还有就是注意拼写不要写错,比如把jakarta写成了jarkata。 5,如果你前面都对,只是你输入http://www.test.cn/hello.jsp,没有出现你要的页面.那么还请查看还有你有没有开启 Tomcat,并在Tomcat引擎中是否加载了和IIS相对应的WEB应用?加上8080端口是否能访问,如果能,那估计就是jk的连接出了问题。 其实正常的话,整个过程是不需要重启iis的。总结: 说到底,这就是两种服务的一种集成,使之外部看起来像一种服务,可以这么理解:外部访问域名-->解析后到IP-->IIS查找相应站点-->发现jsp文件-->转至jk连接处理-->将相应文件解释转给Tomcat-->将页面返回给IIS-->展现给客户端。那么哪出了问题,就查哪,一步一步来,一定能成功的,希望对大家有所帮助,另外多看官方手册,多想其中的原理,网上流传的各种文档不一定就是正确的,包括本文,只是尽量详尽的给一种引导。 关于浏览器的问题(急) 关于获取单行按钮值的问题~请高手指点 请问index.do?这种网页格式是什么? 如何做一个能保存\打印数据的功能? 切换显示图片和文字 mysql 查询转化为 hibernate 对象查询, 大家来计论一下用jsp做一个web页面收发邮件的问题? 各位,给点linux下开发JSP的建议!--回复者有分 a question about form evaluation 在页面间传递ResultSet出现问题。。。。。 IIS与Tomcat多站点整合问题,求高手!! 左操作数点击操作,右面显示的地方怎么实现等待提示呢
安装JDK->d:\Java,Tomcat->D:\Tomcat 6.0,jk->D:\Tomcat 6.0\bin\jakarta如果jk采用安装方式,则省去1-3步。 1,为IIS写注册表
jk.reg 文件
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation]
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector]
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
“extension_uri”=”/jakarta/isapi_redirect.dll”
“worker_file”=”D:\\Tomcat 6.0\\conf\\workers.properties”
“worker_mount_file”=”D:\\Tomcat 6.0\\conf\\uriworkermap.properties”
“log_file”=”D:\\Tomcat 6.0\\logs\\isapi.log”
“log_level”=”debug”其中这两项
“worker_file”=”D:\\Tomcat 6.0\\conf\\workers.properties”
“worker_mount_file”=”D:\\Tomcat 6.0\\conf\\uriworkermap.properties”
为关键,其中的文件更为关键,内容和格式都很重要,也是为什么用exe安装会好一些的原因,那样的话就不用考虑这些了。
=================================================================================
2,建立配置文件
按照注册表里所写的,在D:\Tomcat 6.0\conf目录下建立两个配置文件,workers.properties和uriworkermap.properties其内容分别为:
workers.properties的内容:
===============================================================================
worker.list=wlb
worker.wlb.type=wlb
worker.wlb.host=localhost //这里网上有说要改成主机域名地址,其实根本没必要,想想也是,如果主机很多的话,那怎么办?
worker.wlb.port=8009
========================================================================
uriworkermap.properties的内容:
=========================================================================
/*.jsp=wlb
/*.do=wlb
==========================================================================
3,为jk建立物理目录
下载isapi_redirect.dll文件。在 D:\Tomcat 6.0\bin目录下建立新目录jakarta,将isapi_redirect.dll复制到里面。
4,建立新网站
打开IIS管理器,在左侧网站一栏新建网站:www.test.cn,其目录指向上面提到过的空目录H:\Inetpub\www.test.cn\ROOT,让网站有执行(如ISAPI应用程序或CGI)的权限。
同时,在tomcat中也要建立相同的站点,修改conf/server.xml,添加:
<Host name=”www.test.net“ appBase=”H:\Inetpub\www.test.cn” unpackWARs=”true” autoDeploy=”true” xmlValidation=”false” xmlNamespaceAware=”false”>
<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” prefix=”localhost_access_log.” suffix=”.txt” pattern=”common” resolveHosts=”false”/>
</Host>
注意站点目录与IIS中是不同的,这个会默认在ROOT中。
5,设置筛选器
在IIS管理器左侧网站下面选中新建的网站www.test.cn,右键选择属性,在ISAPI筛选器标签页添加筛选器,名字为jakarta,路径为isapi_redirect.dll的路径名,即D:\Tomcat 6.0\bin\jakarta\isapi_redirect.dll。如果成功重新进入属性页,则该新建的筛选器会有一个绿色向上箭头,优先级为高,这说明jk模块加载成功。//走到此处
注:此步很容易不成功,原因是权限问题,需设置D:\Tomcat 6.0\bin目录及D:\Tomcat 6.0\conf 添加IIS和IUSR这两个用户可读取权限,再重新加载,即可成功。
加程序扩展,新加.jsp的程序扩展,添加时提示路径有空格,需要把头尾加上“”就可以了。
6,为jk建立虚拟目录
选中网站www.test.cn,新建虚拟目录,别名为jakarta,路径为D:\Tomcat 6.0\bin\jakarta,(注安装版的jk会将dll文件放在这下面的bin中,等于深了一层,copy出来即可),使其有执行(如ISAPI应用程序或CGI)的权限。 添加IIS和IUSR这两个用户可读取权限。
7,新建应用程序扩展
在IIS管理器左侧网站下面选中Web服务扩展,添加一个新的Web服务扩展,扩展名为jakarta,添加要求得文件为D:\Tomcat 6.0\bin\jakart\isapi_redirect.dll,并设置扩展状态为允许。
8,测试
打开Tomcat服务器,修改c:\WINDOWS\system32\drivers\etc\hosts文件,让www.test.cn的域名指向127.0.0.1,打开IE,输入http://www.test.cn/hello.jsp,回车,如果出现测试页面,那说明你配置已经成功。注意的问题:
1,注意你的两个配置文件workers.properties和uriworkermap.properties和注册表的新添加的内容,如用exe安装版jk,则不用担心这个了。
2,要注意IIS要对这个jakarta目录有足够的权限.如果你的筛选器添加失败很有可能是权限的原因.
3,这里有可能出现ISAPI筛选器不能加载的问题,状态一栏是红色箭头,权限问题。
4,添加新的Web 服务扩展jakarta之外还要使它允许。另外同样要注意权限的问题,因为涉及到Internet访问,还有就是注意拼写不要写错,比如把jakarta写成了jarkata。
5,如果你前面都对,只是你输入http://www.test.cn/hello.jsp,没有出现你要的页面.那么还请查看还有你有没有开启 Tomcat,并在Tomcat引擎中是否加载了和IIS相对应的WEB应用?加上8080端口是否能访问,如果能,那估计就是jk的连接出了问题。
其实正常的话,整个过程是不需要重启iis的。
总结:
说到底,这就是两种服务的一种集成,使之外部看起来像一种服务,可以这么理解:
外部访问域名-->解析后到IP-->IIS查找相应站点-->发现jsp文件-->转至jk连接处理-->将相应文件解释转给Tomcat-->将页面返回给IIS-->展现给客户端。
那么哪出了问题,就查哪,一步一步来,一定能成功的,希望对大家有所帮助,另外多看官方手册,多想其中的原理,网上流传的各种文档不一定就是正确的,包括本文,只是尽量详尽的给一种引导。