IIS与Tomcat的整合

来源:互联网 发布:股票技术分析知乎 编辑:程序博客网 时间:2024/05/17 06:39

IIS与Tomcat的整合

服务器领域,虽说Linux/Unix系统大行其道,但使用最多的仍是Windows 2000 ServerServer 2003操作系统。IIS无疑是Windows系统中用的最广泛的HTTP服务器,而Tomcat则是使用最广泛的jsp/servlet容器。在一个服务器中运行多个Web应用是很常见的,为了使多个服务器共享80端口,便有必要考虑服务器之间的整合。

本文将介绍如何整合Window Server 2003操作系统下IIS 6.0Tomcat,由IIS作为Tomcat的前端服务器,使之协同工作。文中介绍的办法在实际操作中会因为Window操作系统的版本或IIS的版本不同而略有差异,但与Tomcat的版本关系不大。

1.         环境:

Windows Server 2003 sp1

IIS6.0,运行在80端口

Tomcat 4.1.24,安装在D:/tomcat-4.1.24,运行在8080端口

虚拟主机:www.fuckjapanese.net

2.         修改Tomcatserver.xml文件,如下,使AJP 1.3 Connector启用,并使用其默认端口8009

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

              port="8080" minProcessors="5" maxProcessors="75"

              enableLookups="false" redirectPort="8443"

              acceptCount="100" debug="0" connectionTimeout="20000"

              useURIValidationHack="false" disableUploadTimeout="true" />

       <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

          port="8009" minProcessors="5" maxProcessors="75"

          enableLookups="true" redirectPort="8443"

          acceptCount="10" debug="0" connectionTimeout="0"

          useURIValidationHack="false"

          protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

3.         配置Tomcat的虚拟主机www.fuckjapanese.net,上下文路径为空。

         <Host name="www.fuckjapanese.net" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">

       <Context path="" docBase="fuckjapanese" debug="0" reloadable="true"/>

      </Host>

此时,启动Tomcat,即可通过http://www.fuckjapanest.net:8080访问。

4.         下载安装TomcatIIS的连接器(Connector

TomcatJKJK2两种Connector,但JK2已停止开发,不被推荐使用。因此,最好使用JK Connector,可到此处下载一个isapi_redirect.dll文件

http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.18/

建立D:/tomcat-4.1.24/bin/jk目录,将上述dll文件放置在其中。事实上,此文件的位置的存放位置没有限制,只要跟下面的配置路径对应即可。

5.         建立JK Connector的配置文件

首先在D:/tomcat-4.1.24/conf下建立一个名为workers.properties的文本文件,此文件指明Tomcat实例的位置及协议等,其内容为:

workers.tomcat_home=D:/tomcat-4.1.24   #Tomcat的安装位置

workers.java_home=D:/j2sdk1.4.2            #JDK的安装位置

ps=/                                 #路径的连接符

worker.list=worker1                                  #workerTomcat实例

worker.worker1.host=localhost                  #Tomcat的服务器地址,可用IP

worker.worker1.port=8009               #ajp13 Connector的监听端口

worker.worker1.type=ajp13               # ajp13协议

其次建立一个uriworkermap.properties文件,此文件指明哪些内容转发给Tomcat处理,可以配置为jspservlet等动态内容由Tomcat处理,而图片、jscss等静态内容由IIS处理,例如其内容为:

/*=worker1           #表明所有的地址都转发给Tomcat处理

!/*.jpg=worker1     #从所有地址中排除静态的jpg文件,由IIS处理

!/*.gif=worker1     #从所有地址中排除静态的gif文件,由IIS处理

6.         JK的配置文件路径写入Window注册表

建立一个.reg文件并执行,其内容为:

REGEDIT4

[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]

"extension_uri"="/jakarta/isapi_redirect.dll"

"log_file"="d://tomcat-4.1.24//logs//isapi.log"

"log_level"="debug"

"worker_file"="d://tomcat-4.1.24//conf//workers.properties"

"worker_mount_file"="d://tomcat-4.1.24//conf//uriworkermap.properties"

7.         IIS中新建一个网站fuckjapanese

网站的主目录指向fuckjapanese的程序目录

网站的主机头添加上域名www.fuckjapanese.net

       给网站添加一个虚拟目录,名为jakarta,其本地路径指向D:/tomcat-4.1.24/bin/jk

8.         增加一个新的应用程序池,名为jakarta AppPool

9.         修改网站的属性

在主目录标签页将应用程序池改为新建立的jakarta AppPool

ISAPI筛选器标签页新建一个筛选器,名称叫jakarta,文件指向D:/tomcat-4.1.24/bin/jk/ isapi_redirect.dll

10.     重新启动网站fuckjapanese,并重新启动jakarta AppPool,这时筛选器jakarta前会有一个绿色向上的箭头。

配置到此完成。这时,通过访问http://www.fuckjapanese.net即可访问应用。

注意:修改配置文件后,必须重启网站,也必须重启应用程序池,修改才能生效。

原创粉丝点击