vista系统中IIS 与tomcat 整合教程 详细教程(我架设成功后给分)

vista系统中IIS 与tomcat 整合教程 详细教程(我架设成功后给分),第1张

整合Vista IIS7 与 Tomcat 5.5的配置方法

IIS整合Tomcat的目的,就是要在IIS上把所有关于JSP的请求转发到Tomcat上处理,再把结果发送给客户端,从外部看来,就好像是 IIS支持JSP一样.而配置的方法,网上虽然能找到很多,但是由于IIS7相对于以往改变较大,所以配置过程还是遇到了不少麻烦.

1.安装JDK 1.5与Tomcat 5.5,生产环境建议安装exe版本以服务的方式运行,JDK和exe版的Tomcat基本不需要配置.而我这边主要是用以调试,所以是下载zip文件形式的Tomcat.相关的配置方法,可以参考这篇文章,注意IIS和Tomcat都使用各自默认的端口80和8080.

2.在IIS中把JSP相关的请求发送到Tomcat需要Tomcat Connector的支持.事实上,Tomcat为主流的 Web Server 和 OS 都提供了支持.这应该是由于Tomcat将自己定位为JSP容器,而非 Web Server,即使它也可以作为 Web Server 使用.在上面的链接中下载 isapi_redirect.dll ,我把它放到了 Tomcat 目录里面的 bin\win32\i386 里面.然后参考这里对 Connector 进行配置,我这里使用了注册表的方式,上面还有另一种通过properties文件进行配置的方法.这里要注意的是,虽然上面说在 Tomcat 的 conf 目录里能找到示例的配置文件,但我在tomcat里面却没有发现相关的文件.这里给出 workers.properties 和uriworkermap.properties 简单示例

workers.properties

# workers.properties.minimal -

#

# This file provides minimal jk configuration properties needed to

# connect to Tomcat.

#

# The workers that jk should create and work with

#

worker.list=ajp13w

#

# Defining a worker named ajp13w and of type ajp13

# Note that the name and the type do not have to match.

#

worker.ajp13w.type=ajp13

worker.ajp13w.host=localhost

worker.ajp13w.port=8009

uriworkermap.properties

# uriworkermap.properties - IIS

#

# This file provides sample mappings for example ajp13w

# worker defined in workermap.properties.minimal

# The general sytax for this file is:

# [URL]=[Worker name]

/servlets-examples/*=ajp13w

# Optionally filter out all .jpeg files inside that context

# For no mapping the url has to start with exclamation (!)

workders.properties中可以定义多个worker,若要添加worker,首先要修改worker.list项,多个worker使用,号分隔,然后再通过 worker.<worker_name>.<property_name>的形式定义workder的属性.如上例中的 ajp13w,其中type表示Tomcat端使用的协议,除了ajp13外,常见的还有旧版的ajp12协议,host自然就是指tomcat所在的主机,我的理解是应该可以把它指到其他的主机上面,实现负载均衡等高级应用.port一般不需要更改,要注意这个port是提供ajp13服务的,与 8080的http是两回事.我在配置的时候就发生ajp13服务没有正常启动,重启了服务器之后才解决,要确认该服务器有无启动,可以查看logs下面的stdout开头的日志文件,基有发现"INFO: JK2: ajp13 listening on /0.0.0.0:8009" 字样的行,说明Tomcat的 ajp13已经正常运行.

uriworkermap.properties的配置方法也很简单,等号的左边是url的样式,右手边就是worker的名称.Connector会把匹配该样式的请求转发到指定的worker去进行处理.这里相当于在IIS把/servlets-examples/映射到Tomcat的/servlets-examples/应用程序.你也可以把 IIS里面的站点根目录和Tomcat里面的站点根目录指到同一个目录,然后再把*.jsp和*.do映射到Tomcat去处理,这种方法应该比较适合生产环境,因为据说tomcat对静态文件的处理能力较差.

3.现在开始对IIS进行配置,首先打开 IIS管理器 ,ISAPI和CGI限制 里面把isapi_redirect.dll添加进去,并设为允许,如果果你找不到这一项,请点击右边树形菜单的根选项,即是以计算机名称开头的项.只有在这里才能找到.这个相当于IIS6里面的"Web 服务扩展",要在这里有设定为允许的项才能在IIS里面被执行.

完成这一步之后,再在网站里面的"Default Web Site"添加应用程序.程序名应对应于在注册表中extension_uri的设置.此处为"jakarta",然后将物理路径指向isapi_redirect.dll所在的目录.完成之后点击这个应用程序,进入处理程序映射,点击右手边的"编辑处理程序权限...",把"执行"项勾打上.

随后为站点添加ISAPI筛选器以便Connector能截取到URL请求.点击"Default Web Site" ->"ISAPI 筛选器" ,把isapi_redirect.dll添加进去,名称可以随便起.

完成这个步骤以后,Connector就可以对请求进行过滤,把符合配置文件中的请求重写到extension_uri指定的uri进行处理,这里为/jakarta/isapi_redirect.dll,然后isapi_redirect.dll再转发到tomcat的8009由tomcat处理完成后再循原路发回去.

如对 workers.properties 进行更改,需要重启IIS.另外VISTA下面似乎uriworkermap.properties的动态加载功能也无法正常运行.每次更改也需要重启IIS..

其实网上的文档很有用,我就是按照网上搜索的文档配置成功的。 uriworkermap.properties:这个文件的目的,是用来设置,那些后缀文件需要通过TOMCAT来解析。所以基本上你只需要如下写: /*.jsp=ajp13 /*.do=ajp13 workers.properties是指明服务器的tomcat环境,包括host,port等等,尤其需要注意的是端口,一般默认的TOMCAT端口是ajp13.port=8009,注意啊,不是WEB访问端口8080! workers.tomcat_home=C:\Tomcat 5.5 ps=\ worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13 worker.ajp13.lbfactor=1 注册表如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0] "log_file"="D:\\JKlog\\isapi_iis_tomcat.log" "log_level"="error" "worker_file"="C:\\iis\\workers.properties" "worker_mount_file"="C:\\iis\\uriworkermap.properties" "extension_uri"="/jakarta/isapi_redirect-1.2.28.dll"


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/63547.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-28
下一篇2023-02-28

发表评论

登录后才能评论

评论列表(0条)

    保存