IIS和TOMCAT的整合

IIS和TOMCAT的整合

http://archive.apache.org/dist/tomcat/tomcat-conne...
http://archive.apache.org/dist/tomcat/tomcat-conne...

 花了很久时间,终于搞定了IIS6和Tomcat的整合。现在把步骤贴出来给各位一点参考,也免去了新手在Google上暴走和一次次的调试。开始吧!
   首先先说明我的系统,Windows 2003 Server中文版 IIS6 Tomcat5.5,JDK 5.0安装目录为C:JDK,Tomcat安装目录为C:/Tomcat,环境变量JAVA_HOME和TOMCAT_HOME都已设置好并指向其各自的安装目录。(注意,接下来所有文件中涉及到tomcat路径的请自行修改为自己的Tomcat路径)
   Tomcat5和IIS6的安装我就不说了,网上的文档很多,假定此时我们已经安装好了Tomcat5和IIS6并都能独立运行,两者的默认网站均指向C:/web目录。

   现在我们要做的是到i官方下载地址 http://apache.justdn.org/tomcat/tomcat-connectors/jk2/binaries/win32/ 下载jakarta-tomcat-connectors-jk2.0.2-win32-IIS.zip  去下载JK2,由JK2负责IIS和Tomcat的通讯,解开后得到isapi_redirector2.dll,我把它放在了C:/tomcat5.5/iis下(目录随便)。
   接下来在Tomcat安装目录下的conf目录下建一个workers2.properties文件,把下面这段东东拷进去保存。注意file=".."之中的路径要用"/"哦!

[shm]
file=c:/Tomcat5.5/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
该文件也是要放在Tomcat安装目录下的conf目录下
  接下来开始编辑注册表,直接建一个iis.reg文件,把下面一段拷进去保存然后双击iis.reg把信息导入注册表。(注意,把涉及的Tomcat路径改成你的Tomcat的路径)

  Windows Registry Editor Version 5.00

  [HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationJakarta Isapi Redirector2.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:/tomcat5.5/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安装目录下的commonlib目录中是否有tools.jar文件(Tomcat5好像是有的,但Tomcat4中是没有的,网上的文档很少提到这件事,致使我多次配置失败),没有的话从JDK的lib下拷一个过去。
   3.IIS指向的目录最好和Tomcat指向的目录一致,不然会发生找不到图像和其他资源文件的问题。(这点不影响执行,呵呵!)
   4.英文文档中还提到应该把IIS6设置为IIS5隔离模式,“Internet信息服务管理器”->“网站”->“属性”->“服务”,把“以IIS5.0隔离模式运行WWW服务”打上勾。不过我不打勾也能正常使用,如果你配置不成功也可以试试这个。

************************************************************************************************************************************
IIS + Tomcat虚拟主机的配置- -(多个站点域名共享一个独立主机IP地址)
Tomcat的设置:
假设abc.com的页面文件放在c:\tomcat5.5\webapps\ROOT
xyz.com的页面放在c:\tomcat5.5\xyz\ROOT
那么在Tomcat的server.xml里面作如下配置就可以了:
<Engine name="Catalina" defaultHost="www.abc.com">
<Host name="www.abc.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</host>
<Host name="www.xyz.com" appBase="xyz"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
--------------------------------------------------------------------------------------------------------------------------------

IIS的站点设置:注意一点就可以了,就是每个使用jsp的站点都要建立一个虚拟目录,如jakarta,都指向到同样一个路径即可:C:\tomcat5.5\conf\connector



***********************************************************************************************************
解决IIS缺省首页面不认识index.jsp的变通方案:
编辑一个IIS认识的首页,如default.htm、index.htm等,内容如下:

<meta http-equiv="refresh" content="0;URL=index.jsp" />

这样,IIS和Tomcat很友好的共享一台服务器的资源了。而且asp可以和jsp老死不相往来的和平共处。

你可能感兴趣的:(tomcat,jsp,配置管理,C#,IIS)