首先先说明我的系统Windows Server中文版+IIS+TomcatJDK 安装目录为C:\JDKTomcat安装目录为C:\Tomcat环境变量JAVA_HOME和TOMCAT_HOME都已设置好并指向其各自的安装目录(注意接下来所有文件中涉及到tomcat路径的请自行修改为自己的Tomcat路径)
Tomcat和IIS的安装我就不说了网上的文档很多假定此时我们已经安装好了Tomcat和IIS并都能独立运行两者的默认网站均指向C:\web目录
现在我们要做的是到connectors/jk/binaries/win/jakartatomcatconnectorsjkwinIISzip去下载JK由JK负责IIS和Tomcat的通讯解开后得到isapi_redirectordll我把它放在了C:\tomcat\iis下(目录随便)
接下来在Tomcat安装目录下的conf目录下建一个workersproperties文件把下面这段东东拷进去保存注意file=之中的路径要用/哦!
[shm]
file=c:/Tomcat/logs/jklog
size=
# 实际运用时把所有的localhost和换成你自己的IP和端口
[channelsocket:localhost:]
port=
host=localhost
# define the worker
[ajp:localhost:]
channel=channelsocket:localhost:
# Uri mapping
[uri:/*jsp]
[uri:/web/*]
worker=ajp:localhost:
# define the worker
[status:status]
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
之后编辑jkproperties文件确认其中是否有此一句
requesttomcatAuthentication=false
接下来开始编辑注册表直接建一个iisreg文件把下面一段拷进去保存然后双击iisreg把信息导入注册表(注意把涉及的Tomcat路径改成你的Tomcat的路径)
Windows Registry Editor Version [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\]
serverRoot=c:\\Tomcat
extensionUri=/jakarta/isapi_redirectordll
workersFile=c:\\Tomcat\\conf\\workersproperties
logLevel=INFO
然后打开我的电脑->控制面板->管理工具->Internet信息服务管理器在里面选择网站中的默认网站(默认网站我假定指向C:\web)在其上点右键选属性在弹出的页框里选择ISAPI筛选器点添加筛选器名称填jakarta可执行文件中填入你的isapi_redirectordll的绝对路径确定后点确定关闭属性页再在默认网站上右键选择新建->虚拟目录别名填jakarta下一步路径选为你的isapi_redirectordll存放的目录我的是C:\tomcat\iis下一步权限中记得把执行那项打勾好了完成
如果你用的是IIS的话到这里就可以结束了但IIS还没完继续
在Internet信息服务管理器的网站中的Web服务扩展上点右键选择添加一个新的Web服务扩展弹出的框中扩展名填Tomcat(其实无所谓的)要求的文件选添加然后找到你的isapi_redirectordll后确定设置扩展状态为允许也打上勾确定
好了配置完了现在我们启动Tomcat然后net start wsvc启动IIS键入(这个文件是我放在c:\web下的)看看!然后在看看如果两者执行结果一样恭喜你整合成功了!
但或许此时还不行这时你该确认以下几点
你的Internet信息服务管理器>网站>默认网站>属性>ISAPI筛选器中的jakarta是否是向上的绿色箭头?如果是红色的检查一下你之前做的配置有没有少了或是写错了点什么再重新配置一遍
确认你的Tomcat安装目录下的common\lib目录中是否有toolsjar文件(Tomcat好像是有的但Tomcat中是没有的网上的文档很少提到这件事致使我多次配置失败)没有的话从JDK的lib下拷一个过去
IIS指向的目录最好和Tomcat指向的目录一致不然会发生找不到图像和其他资源文件的问题(这点不影响执行呵呵!)
英文文档中还提到应该把IIS设置为IIS隔离模式Internet信息服务管理器>网站>属性>服务把以IIS隔离模式运行WWW服务打上勾不过我不打勾也能正常使用如果你配置不成功也可以试试这个