Tomcat与IIS集成详解

本文介绍如何把IIS服务器与Tomcat集成。本文的参考书籍是《Tomcat与Java Web开发技术详解》第三版,作者:孙卫琴。
本文所用的软件版本为:Window10,Tomcat9。
本文所涉及的源代码的下载网址为:http://www.javathinker.net/javaweb/iis-tomcat.zip

IIS(Internet Information Service)服务器是微软开发的功能强大的Web服务器,IIS为创建和开发电子商务提供了安全的Web平台。把Tomcat与IIS集成,可以扩展IIS的功能,使它支持Java Web应用。

1.1 安装和启动IIS服务器

高版本的Windows自带了IIS,但默认情况下没有被启用。下面以Window10为例,介绍启用IIS的步骤。
(1)选择操作系统的【控制面板】→【程序】→【启动或关闭Windows功能】,打开“启动或关闭Windows功能”的窗口,参见图1-1。
Tomcat与IIS集成详解
图1-1 打开“启动或关闭Windows功能”窗口

(2)在“启动或关闭Windows功能”的窗口中,选择与IIS信息服务相关的所有选项,参见图1-2。确保启用了“应用程序开发功能”中的各个选项。
Tomcat与IIS集成详解
图1-2 在Windows中启用IIS的各项功能

(3)选择操作系统的【控制面板】→【系统和安全】→【管理工具】→【Internet Information Services (IIS)管理器】,打开IIS管理器。
(4)在IIS管理器窗口左侧的目录树中选择表示本地电脑的主机节点,点鼠标右键,在下拉菜单中选择“启动”,就会启动IIS服务器。如果选择“停止”,就会终止IIS服务器,参见图1-3。
Tomcat与IIS集成详解
图1-3 在IIS管理器中启动或终止IIS服务器

(5)按照以上步骤(4)启动IIS服务器后,通过浏览器访问http://localhost
如果出现如图1-4所示的页面,就表示IIS服务器已经安装和启动成功。
Tomcat与IIS集成详解
图1-4 访问IIS服务器的主页

1.2 准备相关文件
在开始本节的操作之前,假定已经按照本章1.1节的步骤,在机器上安装了IIS服务器,接下来准备好以下3个文件,它们的存放路径为Tomcat根目录的conf目录下(<CATALINA_HOME>/conf):
(1)JK插件:isapi_redirect.dll文件
(2)workers.properties文件
(3)uriworkermap.properties文件

1.JK插件
在源代码包的sourcecode/iis目录下提供了用于IIS的JK插件:isapi_redirect.dll,此外,也可以到以下地址下载最新的JK插件:
http://tomcat.apache.org/download-connectors.cgi

把JK插件isapi_redirect.dll拷贝到<CATALINA_HOME>/conf目录下。

针对不同的Windows版本,需要下载不同的IIS JK插件。在配套源代码包中,sourcecode/iis/isapi_redirect.dll适用于X86_64类型的Windows;sourcecode/iis/isapi_redirect_windows-i386.dll适用于i386型号的Windows。如果选用了不匹配的JK插件,会导致IIS服务器无法加载它。

2.workers.properties文件
在<CATALINA_HOME>/conf目录下创建如下的workers.properties文件。在配套源代码包的sourcecode/ iis目录下也提供了该文件:

worker.list=worker1
worker.worker1.port=8009 #工作端口,若没占用则不用修改
worker.worker1.host=localhost #Tomcat服务器的地址
worker.worker1.type=ajp13 #类型
worker.worker1.lbfactor=1 #负载平衡因数

3.uriworkermap.properties文件
在<CATALINA_HOME>/conf目录下创建如下的uriworkermap.properties文件,它为JK插件指定URL映射。在配套源代码包的sourcecode/iis目录下也提供了该文件:

/*.jsp=worker1
/helloapp/*=worker1

以上配置代码表明worker1负责处理的URL包括“/*.jsp”,以及helloapp应用。

尽管把以上3个文件都放在Tomcat目录下,其实Tomcat服务器并不会访问这些文件。以上给出的是按照惯例的一种配置。事实上,也可以把这些文件放在文件系统的其他地方。另外,在实际操作过程中,发现把这个三个文件放在相同的目录下,更容易成功地把Tomcat与IIS集成。

1.3 编辑注册表

在配置Apache和Tomcat集成时,JK插件的属性是在Apache的配置文件httpd.conf中设置的。配置IIS和Tomcat集成时,应该在操作系统的注册表中设置JK插件的属性,以下是操作步骤。
(1)在Windows 中通过regedit命令编辑注册表,创建一个新的键:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector \1.0,如图1-5所示。
Tomcat与IIS集成详解
图1-5 在注册表中创建Jakarta Isapi Redirector\1.0键

(2)在Jakarta Isapi Redirector\1.0键下面创建新的字符串,参见表1-1,创建好之后的注册表如图1-6所示。
表1-1 在Jakarta Isapi Redirector\1.0键下面创建的字符串
Tomcat与IIS集成详解

Tomcat与IIS集成详解
图1-6 在Jakarta Isapi Redirector\1.0键下面创建新的字符串

在配套源代码包的sourcecode/iis目录下提供了注册表编辑文件jk.reg,如果不想按照以上方式手工修改注册表,也可以直接运行jk.reg文件(选中这个文件再双击鼠标即可),它会把以上配置内容自动添加到注册表中。jk.reg的内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation
\Jakarta Isapi Redirector\1.0]
"extension_uri"="/jakarta/isapi_redirect.dll"
"log_file"="C:\tomcat\logs\isapi.log"
"log_level"="debug"
"worker_file"="C:\tomcat\conf\workers.properties"
"worker_mount_file"="C:\tomcat\conf\uriworkermap.properties"

在运行jk.reg文件之前,应该把文件中的“C:\tomcat”目录替换为读者本地机器上Tomcat的实际安装目录。

1.4 在IIS中加入“jakarta”虚拟目录

注册表修改以后,应该在IIS中加入名为“jakarta”的虚拟目录,它是JK插件所在的目录,以下是操作步骤。
(1)选择操作系统的【控制面板】→【系统和安全】→【管理工具】→【Internet Information Services (IIS)管理器】,打开IIS管理器。
(2)选中窗口左侧的目录树中的【Default Web Site】,单击鼠标右键,在下拉菜单中选择【添加虚拟目录】选项,如图1-7所示。创建一个虚拟目录,名为“jakarta”,对应的实际文件路径应该是isapi_redirect.dll文件所在的目录<CATALINA_HOME>/conf,参见图1-8。
Tomcat与IIS集成详解
图1-7 选中“添加虚拟目录”菜单

Tomcat与IIS集成详解
图1-8 添加虚拟目录

1.5 把JK插件作为ISAPI筛选器加入到IIS

在IIS中加入名为“jakarta”的虚拟目录后,还应该把JK插件作为ISAPI筛选器(也称为过滤器)加入到IIS中,以下是操作步骤。
(1)在IIS管理器窗口左侧的目录树中选择“Default Web Site”节点,然后在右侧窗口中选择“ISAPI筛选器”栏目,添加新的ISAPI筛选器,筛选器名称为“jakarta”,可执行文件为<CATALINA_HOME>/conf /isapi_redirect.dll,如图1-9所示。
Tomcat与IIS集成详解
图1-9 添加新的ISAPI筛选器

(2)在IIS管理器窗口左侧的目录树中选择IIS主机节点,然后在右侧窗口中选择“ISAPI和CGI限制”栏目,然后添加一条新的ISAPI和CGI限制,参见图1-10。在图1-10中,要把“允许执行扩展路径”选项打勾。
Tomcat与IIS集成详解
图1-10 添加ISAPI限制

1.6 测试配置

重启Tomcat服务器和IIS服务器,通过浏览器访问:
http://localhost/index.jsp
如果出现Tomcat的默认主页,说明配置已经成功。此外,如果在Tomcat服务器上已经发布了helloapp应用(把配套源代码包的sourcecode目录下的helloapp目录拷贝到<CATALINA_HOME>/webapps目录下),可以访问:
http://localhost/helloapp/hello.htm
如果正常返回helloapp应用的hello.htm网页,说明配置已经成功;如果配置有误,可以按照以下方法来查找错误原因:
(1)如果isapi_redirect.dll、workers.properties和uriworkermap.properties文件没有放在同一个目录下,那么尝试把它们放在同一个目录下。
(2)确保下载的JK插件文件与Windows版本匹配。
(3)检查是否在注册表中注册了“Jakarta Isapi Redirector”键。
(4)确保在IIS管理器中添加虚拟目录和ISAPI筛选器时,提供的名字和文件路径都正确无误。
(5)在IIS管理器中添加了虚拟目录或ISAPI筛选器后,要重新启动IIS服务器才能生效。
可以查看JK插件生成的日志信息,它有助于查找错误原因。在注册表中设定该日志文件的存放位置为<CATALINA_HOME>/logs/isapi.log。

作者:孙卫琴

转载于:https://blog.51cto.com/sunweiqin/2408661

Win7 系统 IIS7+Tomcat7 集成 通过 iistomcat集成可以让 tomcat 处理 jsp,iis 处理 asp 和 html 静态页面。 一、 安装 tomcat 我所用的 Tomcat 是最新版的 7.0.27 直接安装版,安装的位置是 D:\Program Files\Tomcat7, 记住这个路径会多次用到,注意在 Tomcat 之前一定要安装 JDK,这里我用的是 jdk1.7. 二、 配置 IIS 进入 Win7 的控制面板,打开程序功能,点击选择打开或关闭 Windows 功能 在 Windows 功能的选项菜单,把 internet 信息服务的所有的组件全部勾起来。 第 1 页 在使用32位的isapi_redirect.dll时要修改程序池:打开网站对应的应用程序池的 高级设置 ,在常规里有个选项【启用32位应用程序】,默认是False,改成 True 注意:安装完成后 IIS 的地址是 http://localhost 和 tomcat 的地址 http://localhost:8080 看看出 没出现默认画面。 三、 集成 Tomcat 1、连接器 jk 在 tomcat 的 bin 目录下新建目录 jk\,把下载的 isapi_redirect.dll(连接器,可从网上下载 http://mirror.bit.edu.cn/apache//tomcat/tomcat-connectors/jk/binaries/windows/ ,我使用的是 1.2.28),拷贝到这个目录下。 2、在 tomcat 的 conf 目录下创建两个文件 workers.properties,uriworkermap.properties Workers.properties 文件的内容: workers.tomcat_home=D:\ProgramFiles\Tomca7 workers.java_home=D:\ProgramFiles\Java\jdk1.7 ps=\ worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 uriworkermap.properties 文件的内容(注意:这个文件说明了符合哪些条件的 uri 才能被转发 到 tomcat 中,可能的设置有) 第 2 页 /*=worker1 /*.jsp=worker1 3、导入注册表文件 tomcat.reg 任意的在哪里建一个文本文档,命名为 tomcat.reg,内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0] "log_file"="D:\\Program Files\\Apache\\Tomcat 6.0\\logs\\isapi.log" "log_level"="debug" ;#workers.properties 物理路径 "worker_file"="D:\\Program Files\\Apache\\Tomcat 6.0\\conf\\workers.properties" ;#uriworkermap.properties 物理路径 "worker_mount_file"="D:\\Program Files\\Apache\\Tomcat 6.0\\conf\\uriworkermap.properties" ;#这是iis服务器中的虚拟路径,这里jakarta保持不变,后边是文件名,在iis网站中虚拟目录为jakarta "extension_uri"="/jakarta/isapi_redirect.dll" 4、建立网站的虚拟目录 打开你的 Internet 信息服务管理器,进入管理页面,展开左边的连接栏,选择你的一个网站, 这里我的网站名是 tomcat,主目录是 e:\tomcat,鼠标单击右键添加虚拟目录,打开虚拟目录对 话框。 第 3 页 别名处写上 jakarta,其中 jakarta 是一个规定名字,必须这么创建,这个虚拟目录要指向 isapi_redirect.dll 的所在目录,并且设置为可执行 IsApi. 5、添加筛选器 选中自己的网站,选择 ISAPI 筛选器,如图所示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值