TOMCAT IIS 整合
2014-09-11 13:26
218 查看
1. 参照 http://wenku.baidu.com/link?url=HWlz8IFgLo8efSWvA2t0FJGLpRtr44fKN8E7U3NLZCxK9voB1uOH6l3PC45bHRGrnpMZIFkkoOdMsLWtoHp0zuXGWI88CMSLTLk0ni5u4Mi 进行操作后,
输入 localhost 报错“ 调用 GetFilterVersion 失败,在 ISAPI 筛选器 上 ”
解决办法: 开始 -> 运行 -> inetmgr -> 应用程序池 -> 找到 我的网站对象的 程序池 -> 右键 -> 高级设置 -> 启用32位应用程序 由 false 改为 true
参照以上地址,没有整合成功~!!!!!!!!!!!!!!!!!!!!!!!!!
2. 下面又找了一篇文档,成功了!!!
地址:http://blog.csdn.net/liuyi1985/article/details/4045031
假设主机域名为:www.abc.com(也可以是localhost)
需求一:假如${TOMCAT_HOME}/webapps下有一个名为jsp的web目录(或者jsp.war),我们想以http://www.abc.com/jsp访问jsp项目
步骤1:
下载isapi_redirect-版本号.dll文件作为IIS与TOMCAT的接口,我下载的是isapi_redirect-1.2.27.dll
下载地址:http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/
然后把该文件放入${TOMCAT_HOME}/conf下
步骤2:
建立如下注册表文件并执行
[c-sharp] view
plaincopy
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]
"log_file"="D://Software//apache-tomcat-6.0.18//logs"
"log_level"="debug"
"worker_file"="D://Software//apache-tomcat-6.0.18//conf//workers.properties"
"worker_mount_file"="D://Software//apache-tomcat-6.0.18//conf//uriworkermap.properties"
"tomcat_start"="D://Software//apache-tomcat-6.0.18//bin//tomcat.bat start"
"tomcat_stop"="D://Software//apache-tomcat-6.0.18//bin//tomcat.bat stop"
"extension_uri"="/jakarta/isapi_redirect-1.2.27.dll"
注意修改与tomcat相关的路径(在我的系统中,tomcat安装目录为“D:/Software/apache-tomcat-6.0.18”)
步骤3:
在tomcat/conf下建立两个文件
文件1:workers.properties
[c-sharp] view
plaincopy
# 工作站的名称任意,但须注意前后一致,多个工作站以“,”分割
worker.list=ajp13w
# 工作站的类型:ajp13是IIS与Tomcat通讯协议的名称
worker.ajp13w.type=ajp13
# 注意此处的host需要与主机或者设置域名的名称一致
worker.ajp13w.host=www.abc.com
# worker.ajp13w.host=localhost
# ajp13协议的通讯端口
worker.ajp13w.port=8009
# 负载因子
worker.worker1.lbfactor=1
文件2:uriworkermap.properties
[c-sharp] view
plaincopy
# 当前域名下上下文路径为jsp的请求,转发给ajp13w工作站处理
/jsp/*=ajp13w
/jsp=ajp13w
# 当前域名下的所有请求都转发给ajp13w工作站处理
# /*=ajp13w
# 当前域名下,所有.jsp的请求都转发给ajp13w工作站处理
# /*.jsp
# 当前域名下,除了.html的请求,其他都转发给ajp13w工作站处理
# !/*.html
步骤4:
在IIS管理器中的“ISAPI和CGI限制”里面右键添加isapi_redirect-1.2.27.dll,并设定“允许执行扩展路径”,描述名可取jakarta
步骤5:
在Default Web Site上右键添加虚拟目录,别名可取jakarta,路径指向${TOMCAT_HOME}/conf,即isapi_redirect-1.2.27.dll所在目录。
接着单击Default Web Site,选择ISAPI筛选器,并右键添加筛选器,名称可取jakarta,可执行文件选择isapi_redirect-1.2.27.dll。
然后点击虚拟目录,双击“处理程序映射”选择“编辑功能权限...”将所有权限选上
步骤6
重启IIS服务器和Tomcat。
访问http://www.abc.com/jsp
注意!!!!!!!!!!!!!!!如果这里不成功,请确保你目前的系统登录用户具有isapi_redirect-1.2.27.dll所在目录的完全控制权限,
如果没有,请进行权限赋值,我就是这儿出的错。(我没有用administrator用户登录,而是是普通用户登录win7系统的)
所以,也不确定参照第一篇文章是否也因为此问题导致没有整合成功,这儿就不验证了。
需求二:假如有一个新域名www.def.com(可以通过在C:/Windows/System32/drivers/hosts文件里添加127.0.0.1 www.def.com模拟),我们想以http://www.def.com访问需求一中所述的jsp项目
步骤1:
配置${TOMCAT_HOME}/conf/server.xml,增加一个虚拟主机:
<Host name="www.def.com" appBase="G:\aspjsp\jspweb\www.def.com" uppackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>
注:文章最下面贴出server.xml文件,另www.def.com所指向jsp网站的完整路径为:G:\aspjsp\jspweb\www.def.com\ROOT,ROOT下面我只放了一个Index.jsp文件
关于server.xml格式各个标签的意义请查看Tomcat相关的文档。
步骤2:
新建目录:G:\aspjsp\jspweb\www.def.com\ROOT 并在ROOT放一个jsp文件
修改文件uriworkermap.properties的内容为:/*=ajp13w
步骤3:
网站节点上右键新建网站,取名任意,我取为“www.def.com”,物理路径我设置的是C:/inetpub/def,其中,def是我新建的目录。
然后主机名填写www.def.com,并选择“立即启动网站”
步骤8:
在网站列表的www.def.com上右键添加虚拟目录,别名可填jakarta,路径指向${TOMCAT_HOME}/conf,即isapi_redirect-1.2.27.dll所在目录。
接着单击www.def.com,选择ISAPI筛选器,并右键添加筛选器,名称可取jakarta,可执行文件选择isapi_redirect-1.2.27.dll。
然后点击虚拟目录,双击“处理程序映射”选择“编辑功能权限...”将所有权限选上
步骤9:
重启IIS服务器和Tomcat。
访问http://www.def.com
############################################################################
通过以上配置,浏览器直接输入http://www.abc.com/jsp/ 可以访问到tomcat/webapps/jsp下的index.jsp,假设此Index.jsp的内容显示为123
浏览器输入 http://www.def.com/ 可直接访问到G:\aspjsp\jspweb\www.def.com\ROOT下面的index.jsp,假设此Index.jsp的内容为456
至此,完成了tomcat 和IIS的整合,通过以上操作,发现一个IIS可以创建多个80端口的网站,他们应该以主机头的不同来区分的(我是小白)!
IIS与Tomcat服务器的一些对应关系:
IIS Tomcat(server.xml)
根节点 Engine
网站 Host
网站名称 Host:<Alias>
网站.主机名 Host.name
网站.物理路径 Host.appBase
虚拟目录 Context
配置经验:
一般来说,在整合IIS和Tomcat之前,首先应该确定能够使用类似http://host:8080/context网址访问Tomcat的站点,以便在配置
IIS过程出现问题时,分辨是IIS的问题还是Tomcat的问题
由于IIS和Tomcat是通过jk连接的,所以,在整合前,可以将两个服务器视为互相独立的,保证两个服务器均可以正常访问后,再考虑正确转发的问题
另外,此次整合我使用的JK是 tomcat-connectors-1.2.40-windows-x86_64-iis.zip
SERVER.XML
<Host name="www.abc.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.def.com" appBase="G:\aspjsp\jspweb\www.def.com" uppackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>
输入 localhost 报错“ 调用 GetFilterVersion 失败,在 ISAPI 筛选器 上 ”
解决办法: 开始 -> 运行 -> inetmgr -> 应用程序池 -> 找到 我的网站对象的 程序池 -> 右键 -> 高级设置 -> 启用32位应用程序 由 false 改为 true
参照以上地址,没有整合成功~!!!!!!!!!!!!!!!!!!!!!!!!!
2. 下面又找了一篇文档,成功了!!!
地址:http://blog.csdn.net/liuyi1985/article/details/4045031
假设主机域名为:www.abc.com(也可以是localhost)
需求一:假如${TOMCAT_HOME}/webapps下有一个名为jsp的web目录(或者jsp.war),我们想以http://www.abc.com/jsp访问jsp项目
步骤1:
下载isapi_redirect-版本号.dll文件作为IIS与TOMCAT的接口,我下载的是isapi_redirect-1.2.27.dll
下载地址:http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/
然后把该文件放入${TOMCAT_HOME}/conf下
步骤2:
建立如下注册表文件并执行
[c-sharp] view
plaincopy
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]
"log_file"="D://Software//apache-tomcat-6.0.18//logs"
"log_level"="debug"
"worker_file"="D://Software//apache-tomcat-6.0.18//conf//workers.properties"
"worker_mount_file"="D://Software//apache-tomcat-6.0.18//conf//uriworkermap.properties"
"tomcat_start"="D://Software//apache-tomcat-6.0.18//bin//tomcat.bat start"
"tomcat_stop"="D://Software//apache-tomcat-6.0.18//bin//tomcat.bat stop"
"extension_uri"="/jakarta/isapi_redirect-1.2.27.dll"
注意修改与tomcat相关的路径(在我的系统中,tomcat安装目录为“D:/Software/apache-tomcat-6.0.18”)
步骤3:
在tomcat/conf下建立两个文件
文件1:workers.properties
[c-sharp] view
plaincopy
# 工作站的名称任意,但须注意前后一致,多个工作站以“,”分割
worker.list=ajp13w
# 工作站的类型:ajp13是IIS与Tomcat通讯协议的名称
worker.ajp13w.type=ajp13
# 注意此处的host需要与主机或者设置域名的名称一致
worker.ajp13w.host=www.abc.com
# worker.ajp13w.host=localhost
# ajp13协议的通讯端口
worker.ajp13w.port=8009
# 负载因子
worker.worker1.lbfactor=1
文件2:uriworkermap.properties
[c-sharp] view
plaincopy
# 当前域名下上下文路径为jsp的请求,转发给ajp13w工作站处理
/jsp/*=ajp13w
/jsp=ajp13w
# 当前域名下的所有请求都转发给ajp13w工作站处理
# /*=ajp13w
# 当前域名下,所有.jsp的请求都转发给ajp13w工作站处理
# /*.jsp
# 当前域名下,除了.html的请求,其他都转发给ajp13w工作站处理
# !/*.html
步骤4:
在IIS管理器中的“ISAPI和CGI限制”里面右键添加isapi_redirect-1.2.27.dll,并设定“允许执行扩展路径”,描述名可取jakarta
步骤5:
在Default Web Site上右键添加虚拟目录,别名可取jakarta,路径指向${TOMCAT_HOME}/conf,即isapi_redirect-1.2.27.dll所在目录。
接着单击Default Web Site,选择ISAPI筛选器,并右键添加筛选器,名称可取jakarta,可执行文件选择isapi_redirect-1.2.27.dll。
然后点击虚拟目录,双击“处理程序映射”选择“编辑功能权限...”将所有权限选上
步骤6
重启IIS服务器和Tomcat。
访问http://www.abc.com/jsp
注意!!!!!!!!!!!!!!!如果这里不成功,请确保你目前的系统登录用户具有isapi_redirect-1.2.27.dll所在目录的完全控制权限,
如果没有,请进行权限赋值,我就是这儿出的错。(我没有用administrator用户登录,而是是普通用户登录win7系统的)
所以,也不确定参照第一篇文章是否也因为此问题导致没有整合成功,这儿就不验证了。
需求二:假如有一个新域名www.def.com(可以通过在C:/Windows/System32/drivers/hosts文件里添加127.0.0.1 www.def.com模拟),我们想以http://www.def.com访问需求一中所述的jsp项目
步骤1:
配置${TOMCAT_HOME}/conf/server.xml,增加一个虚拟主机:
<Host name="www.def.com" appBase="G:\aspjsp\jspweb\www.def.com" uppackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>
注:文章最下面贴出server.xml文件,另www.def.com所指向jsp网站的完整路径为:G:\aspjsp\jspweb\www.def.com\ROOT,ROOT下面我只放了一个Index.jsp文件
关于server.xml格式各个标签的意义请查看Tomcat相关的文档。
步骤2:
新建目录:G:\aspjsp\jspweb\www.def.com\ROOT 并在ROOT放一个jsp文件
修改文件uriworkermap.properties的内容为:/*=ajp13w
步骤3:
网站节点上右键新建网站,取名任意,我取为“www.def.com”,物理路径我设置的是C:/inetpub/def,其中,def是我新建的目录。
然后主机名填写www.def.com,并选择“立即启动网站”
步骤8:
在网站列表的www.def.com上右键添加虚拟目录,别名可填jakarta,路径指向${TOMCAT_HOME}/conf,即isapi_redirect-1.2.27.dll所在目录。
接着单击www.def.com,选择ISAPI筛选器,并右键添加筛选器,名称可取jakarta,可执行文件选择isapi_redirect-1.2.27.dll。
然后点击虚拟目录,双击“处理程序映射”选择“编辑功能权限...”将所有权限选上
步骤9:
重启IIS服务器和Tomcat。
访问http://www.def.com
############################################################################
通过以上配置,浏览器直接输入http://www.abc.com/jsp/ 可以访问到tomcat/webapps/jsp下的index.jsp,假设此Index.jsp的内容显示为123
浏览器输入 http://www.def.com/ 可直接访问到G:\aspjsp\jspweb\www.def.com\ROOT下面的index.jsp,假设此Index.jsp的内容为456
至此,完成了tomcat 和IIS的整合,通过以上操作,发现一个IIS可以创建多个80端口的网站,他们应该以主机头的不同来区分的(我是小白)!
IIS与Tomcat服务器的一些对应关系:
IIS Tomcat(server.xml)
根节点 Engine
网站 Host
网站名称 Host:<Alias>
网站.主机名 Host.name
网站.物理路径 Host.appBase
虚拟目录 Context
配置经验:
一般来说,在整合IIS和Tomcat之前,首先应该确定能够使用类似http://host:8080/context网址访问Tomcat的站点,以便在配置
IIS过程出现问题时,分辨是IIS的问题还是Tomcat的问题
由于IIS和Tomcat是通过jk连接的,所以,在整合前,可以将两个服务器视为互相独立的,保证两个服务器均可以正常访问后,再考虑正确转发的问题
另外,此次整合我使用的JK是 tomcat-connectors-1.2.40-windows-x86_64-iis.zip
SERVER.XML
<Host name="www.abc.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.def.com" appBase="G:\aspjsp\jspweb\www.def.com" uppackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>
相关文章推荐
- 最新IIS和tomcat整合文章
- 让IIS 6 支持 JSP (IIS整合Tomcat)
- Windows2003下完美配置整合IIS 6+JDK 1.6+Tomcat 6.0.16
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
- 利用IIS应用请求转发ARR实现IIS和tomcat整合共用80端口
- 整合IIS和Tomcat(同时支持ASP和jsp)
- IIS下面支持jsp,整合tomcat6.0,对其他配置方法的改进
- IIS+tomcat 整合,并且通过域名访问
- 整合IIS与tomcat(共用80端口的配置方法)
- 让IIS6支持JSP的设置方法(IIS完美整合Tomcat)
- IIS与TOMCAT的整合
- 整合tomcat 整合iis共用80端口(2)
- IIS和TOMCAT的整合
- TurboMail邮件系统 IIS与tomcat的整合
- 整合Tomcat与IIS
- iis tomcat 整合
- TOMCAT和IIS整合
- Tomcat 与 IIS 整合[转]
- Windows2003 Server 下 IIS与Tomcat的整合,实现ASP与JSP统一访问(支持多域名访问)
- 64bit Windows Server 2008 R2 SP1 中IIS7.5 和 TOMCAT7 整合笔记