windows 2003 r2 iis6.0中集成tomcat6.0(虚拟主机)

来源:互联网 发布:荣威550解码软件 编辑:程序博客网 时间:2024/05/21 09:53

原文出自csdn博客,地址:http://blog.csdn.net/peihexian/archive/2007/11/02/1864278.aspx

tomcat与iis的整合应用不是什么新鲜事,但是IIS6与Tomcat6的整合方法,网上目前能查到的真正能用的资料还比较少,所以决定浪费一晚上的时间搞定这个小问题,下面就是完整的步骤。

1.安装IIS 6.0 ,这个几乎每个人都会,不写过程了,安装JDK及配合环境变量等,这个搞Java的也都知道,不写了,下载Tomcat6,下载用于集成IIS6和Tomcat6的Apache Tomcat Connector ,网址在下面:

http://tomcat.apache.org/download-connectors.cgi

我们要下载的是JK 1.2 的编译后的文件,要源代码等没用,就只下载JK 1.2 Binary Releases 就行了,根据操作系统的类型,可以选择下载32位或64位的版本,我的机器是64位CPU,但是安装的是32位的2003,所以下载32位的isapi_redirect.dll 

   将isapi_redirect.dll放到tomcat的conf目录中,建立以下几个文件

2. workers.properties文件

  内容:

##############################################

workers.tomcat_home=C:/temp/apache-tomcat-6.0.14
workers.java_home=C:/Program Files/Java/jdk1.6.0_03
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

worker.list=jkstatus
worker.jkstatus.type=status

#############################################

3.uriworkermap.properties文件

内容:

#############################################

/www.vhost1.com/*=ajp13
!/www.vhost1.com/*.asp=ajp13
!/www.vhost1.com/*.html=ajp13

/www.vhost1.com/private/admin/jkstatus=jkstatus

/www.vhost2.com/*.jsp=ajp13
/www.vhost2.com/*.do=ajp13
/www.vhost2.com/services*=ajp13
/www.vhost2.com/servlet*=ajp13
/www.vhost2.com/dwr/*=ajp13

#############################################

注意这里才是和网上其它写的集成IIS6及TOMCAT6的文章所不同的地方,多个虚拟主机时需要写上虚拟主机的主机头信息,上面的虚拟主机中,vhost1站点除了asp及静态的html文件以外,其它的请求全部由tomcat处理,实际应用时可以考虑将图片、CSS、html等静态的文件由IIS负责直接发给客户端,tomcat只负责处理jsp,servlet等。

原文出自csdn博客,地址:http://blog.csdn.net/peihexian/archive/2007/11/02/1864278.aspx

  4.修改Tomcat的配置文件,增加虚拟主机信息,修改文件为conf目录中的server.xml文件,增加内容示例:

      <Host name="www.vhost1.com"  appBase="C://temp//vhost1//"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
               prefix="vhost1_log." suffix=".txt" pattern="common" resolveHosts="false"/>

      </Host>

      <Host name="www.vhost2.com"  appBase="C://temp//vhost2//"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
               prefix="vhost2_log." suffix=".txt" pattern="common" resolveHosts="false"/>

      </Host>

 5.增加isapi_redirect.dll需要用到的注册表信息,用记事本建立一个tomcat.reg文件,内容如下:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]
"log_file"="C://temp//apache-tomcat-6.0.14//logs//isapi.log"
"log_level"="debug"
"worker_file"="C://temp//apache-tomcat-6.0.14//conf//workers.properties"
"worker_mount_file"="C://temp//apache-tomcat-6.0.14//conf//uriworkermap.properties"
"tomcat_start"="C://temp//apache-tomcat-6.0.14//bin//tomcat.bat start"
"tomcat_stop"="C://temp//apache-tomcat-6.0.14//bin//tomcat.bat stop"
"extension_uri"="/jakarta/isapi_redirect.dll"

 注意上面的所有涉及到tomcat的路径都要换成实际部署时的路径信息,目录的分隔用“//”表示,编辑好了以后双击导入注册表。

6.在IIS中添加W eb服务扩展

    打开IIS信息服务管理器,在左侧的功能树中选中“WEB服务扩展”,在屏幕右侧的空白界面中点鼠标右键,选择“增加一个新的WEB服务扩展”,在扩展名输入框中输入“jakarta”,在“要求的文件”处选择我们从tomcat官方网站上下载的“isapi_redirect.dll”文件,同时选中“设置扩展状态为允许”复选框。正确设置后的界面如下图:

 

7.在IIS中增加多个虚拟主机

    依次在IIS中建立虚拟主机,端口号全部使用80即可,这个和集成没有什么关系,最关键的一点要在每个虚拟主机中增加主机头信息,如下图:

    虚拟主机建立完成后,可以先访问一下网站的静态html文件或图片资源等,看看IIS中的虚拟主机工作是否正常。

8.增加isapi筛选器

   在虚拟主机站点上点鼠标右键,选“属性”,选“ISAPI筛选器”页,点“增加”,筛选器名称输入“jakarta”,可执行文件选tomcat的conf目录中的iaspi_redirect.dll文件。

9.增加jakarta虚拟目录

  在虚拟主机站点上点鼠标右键,选“新建”-》“虚拟目录”,别名为“jakarta”,目录为tomcat的conf目录,最后要选中“读取”和“执行程序”权限。

 10.调试与测试

   如果一切正常,现在可以访问一下JK的状态页看看效果了

要想测试是不是真的IIS和tomcat各司其职,可以建立一个简单的asp文件,在iis的web服务扩展中打开ASP扩展进行测试,asp文件内容:

<%@ LANGUAGE = VBScript %>
<HTML>
<TITLE>
Hello World
</TITLE>
<BODY>
<%
for i=1 to 5
response.write "<font size=" & i & ">hello world</font><br>"
next
%>
</BODY>
</HTML>

其它注意事项:调试无问题以后需要修改isapi_redirect.dll的log_level,上面写的是debug,这种情况下会产生大量的调试日志数据,在实际生产环境中运行时建议将log_level调高。如果一直调试不成功,可以试着修改tomcat的conf目录权限为everyone读取,tomcat的logs目录权限为everyone完全控制,不过这样貌似不安全了,已经写到半夜1点半了,不再继续测试权限的问题了。

 

原文出自csdn博客,地址:http://blog.csdn.net/peihexian/archive/2007/11/02/1864278.aspx

原创粉丝点击