`

Tomcat6+IIS6集成及Tomcat负载均衡配置,Tomcat集群配置,多域名配置

阅读更多

一、环境说明。

 1、硬件环境:一台服务器,运行2个Tomcat实例。

 2、软件环境:Windows Server2003 企业版 + IIS6 + Tomcat6 (解压版) + JDK6 + JK1.2.28(iis用的是isapi_redirect-1.2.28.dll )

二、Tomcat6的负载均衡配置

 1、将tomcat解压到2个不同的目录,如:D:\server\tomcat-node1, D:\server\tomcat-node2。

 2、修改D:\server\tomcat-node1\conf\server.xml文件,

找到:

<Server port="8005" shutdown="SHUTDOWN">

修改为:

<Server port="8006" shutdown="SHUTDOWN">

找到:

    <Connector port="8080  protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

修改为:

    <Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

找到:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

修改为:

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

 找到:

<Engine name="Catalina" defaultHost="localhost">

 修改为:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="node1">

 

按照同样方法,修改D:\server\tomcat-node2\conf\server.xml文件 ,修改结果如下:

<Server port="8007" shutdown="SHUTDOWN">

<Connector port="8082" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />

<Engine name="Catalina" defaultHost="localhost" jvmRoute="node2">

启动2个tomcat,确认2个tomcat都启动成功。

注: 因为要启动2个Tomcat,所以不能设置CATALINA_HOME。

 

3、修改D:\server\tomcat-node1\conf\workers.properties文件(如果没有就创建该文件),在文件中写入:

# The advanced router LB worker
worker.list=router

# Define a worker using ajp13
worker.node1.port=8010
worker.node1.host=localhost
worker.node1.type=ajp13
worker.node1.lbfactor=1

# Define another worker using ajp13
worker.node2.port=8011
worker.node2.host=localhost
worker.node2.type=ajp13
worker.node2.lbfactor=1

# Define the LB worker
worker.router.type=lb
worker.router.balance_workers=node1,node2
worker.router.sticky_session=False #在集群环境中,将该值设置为False。
 

 保存文件。

4、启动2个Tomcat,确认启动成功。完成Tomcat的负载均衡配置。

 

三、Tomcat6+IIS6集成配置

1、修改配置文件D:\server\tomcat-node1\conf\workers.properties,在该文件中增加如下配置:

 

workers.tomcat_home=D:\server\tomcat-node1
workers.java_home=C:\Program Files\Java\jdk1.6.0
ps=\

    保存。

 2、增加D:\server\tomcat-node1\conf\uriworkermap.properties,在该文件中配置的映射路径,如:

/*=router    该值要与workers.properties中的worker.list=router中的值相等








 3、增加注册表文件isapi_redirect.reg,在该文件中写入:

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"log_file"="D:\\logs\\isapi.log"
"log_level"="error"
"worker_file"="D:\\server\\tomcat-node1\\conf\\workers.properties"
"worker_mount_file"="D:\\server\\tomcat-node1\\conf\\uriworkermap.properties"
"tomcat_start"="D:\\server\\tomcat-node1\\bin\\startup.bat"
"tomcat_stop"="D:\\server\\tomcat-node1\\bin\\shutdown.bat"
"extension_uri"="/jakarta/isapi_redirect-1.2.28.dll"

 保存该文件后,双击运行该文件,将注册信息导入到注册表。

4、将下载来的jk文件:isapi_redirect-1.2.28.dll 复制到D:\server\tomcat-node1\conf\目录下。

 

5、打开IIS信息管理器,配置IIS,本文以默认网站为例。右键点击默认网站,选择“属性”,打开属性对话框。

  在“ISAPI筛选器”标签页中,点击“添加”按钮,定义筛选器名称为:jakarta,可执行文件为:D:\server\tomcat-node1\conf\isapi_redirect-1.2.28.dll。操作完成后,点击“应用”按钮。关闭属性页,然后再打开属性页,切换到“ISAPI筛选器”标签页,如果状态为绿色向上箭头,优先级为高,则代表筛选器配置成功。

 

6、打开默认网站的属性页,在“主目录”标签页中,将本地路径映射到“D:\server\tomcat-node1\webapps”目录,点击确定。

7、在“默认网站”上点击右键,选择“新建”->“新建虚拟目录...”,在弹出的对话框中点击“下一步”,填写别名为“jakarta”,点击“下一步”,将路径设置为:D:\server\tomcat-node1\conf,再点击“下一步”,勾选“执行(如:ISAPI应用程序或CGI)”,点击“下一步”,再点击“完成”。完成jk的虚拟目录配置。

 

8、新增“web服务器扩展”,扩展名随意取,如:Tomcat。在要求的文件中,添加D:\server\tomcat-node1\conf\isapi_redirect-1.2.28.dll文件,勾选“设置扩展状态为允许”。

 

9、完成整个配置。

 

10、重启IIS,Tomcat-node1,Tomcat-node2。在D:\server\tomcat-node1\webapps\ROOT\目录下,新建“test.jsp”文件,代码:

<%@ page import="java.util.*" %>

<%=new Date()%>
<% System.out.println("负载均衡了");%>

   并将test.jsp复制一份到: D:\server\tomcat-node2\webapps\ROOT\目录下。

 

11、打开浏览器,输入:http://localhost/test.jsp,如果能看到当前时间,那么恭喜你,iis+tomcat配置成功。

刷新页面,刷新页面,会在2个Tomcat的控制台看到:“负载均衡了”字样。表明负载均衡配置成功。

 

12、Tomcat集群配置,进行全局的Session复制。

a)   修改2个节点的server.xml文件,找到

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

  去掉该行上下的<!-- -->注释。

使用默认的配置,会调用DeltaManager 进行Session复制,该类会将任何一个节点中添加的Session,同步复制到集群中其他的节点上。针对少量节点的集群,可以直接使用默认配置。

注:官网的集群的详细配置代码如下:

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
                 channelSendOptions="6">

          <!--<Manager className="org.apache.catalina.ha.session.BackupManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"
                   mapSendOptions="6"/>-->
          
          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"/>
                
          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
            <Membership className="org.apache.catalina.tribes.membership.McastService"
                        address="228.0.0.4"
                        port="45564"
                        frequency="500"
                        dropTime="3000"/>
            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                      address="auto"
                      port="5000"
                      selectorTimeout="100"
                      maxThreads="6"/>

            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
            </Sender>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
          </Channel>

          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                 filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>


          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>

 需要去掉:

 

          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>

 如果加上该部分配置,会出现:严重: FarmWarDeployer can only work as host cluster subelement! 错误。

 

b)   修改需要Session复制的应用中WEB-INF/web.xml文件,在文件中的<web-app>标签中增加:

<distributable/>

 在应用的web.xml中增加上述配置后,就表示该应用需要进行Session复制。

 

c)  配置Tomcat集群后,需要注意workers.properties中的sticky_session属性,在上述的workers.propeties文件中最后增加如下配置:

worker.router.sticky_session=True

   当该属性值=True(或1)时,代表Session是粘性的,即同一Session在集群中的同一个节点上处理,Session不跨越节点。

  在集群环境中,一般将该值设置为False。官方说明如下:

Set sticky_session to False when Tomcat is using a Session Manager which can persist session data across 
multiple instances of Tomcat. 


多域名配置:

1、在已设置好连接到Tomcat的iis的站点中,增加域名,如:www.test1.com

2、修改workers.properties文件,增加:

worker.list=test1
worker.test1.type=ajp13
worker.test1.port=8019
worker.test1.host=www.test1.com

3、修改uriworkermap.properties文件,增加:

/www.test0.com/*=test0   //对应www.test0.com域名的请求,转发给test0的tomcat处理。
/www.test1.com/*=test1   //对应www.test1.com域名的请求,转发给test1的tomcat处理。

 4、新增一个tomcat服务器,修改server.xml文件,将localhost修改为:www.test1.com,同时修改相应的端口,以避免端口冲突。

 

 

备注:如果ISAPI筛选器显示为红色向下箭头,以及“未加载”状态,分2步检查:

1、右键点击站点,选择“浏览”站点。让IIS加载筛选器。如果不成功,进入第二步。

2、更改isapi_redirect-1.2.28.dll文件的权限,之后给予这个文件EveryOne的读取+执行的权限。

解决问题。

 

参考:

Configuring IIS

IIS HowTo

LoadBalancer HowTo

Clustering/Session Replication HOW-TO

workers.properties configuration

uriworkermap.properties configuration

Apache Tomcat 6.0 Document

5
1
分享到:
评论
1 楼 lpn520 2010-12-10  
楼主,你这里的 “Tomcat6+IIS6集成配置”,好像只有IIS跟tomcat1集成了,tomcat2呢?

相关推荐

    tomcat6+IIS6 整合插件

    tomcat6+IIS6 整合插件 直接安装版, 本插件是本人在浏览国外网站时所得.

    IIS+TOMCAT集群负载均衡

    在构建高性能、高可用性的Web...综上所述,IIS+TOMCAT集群负载均衡的实现涉及到多方面的技术,包括服务器配置、负载策略选择、动态库加载以及性能优化等。通过合理部署和精细调整,可以构建出高效、可靠的Web服务环境。

    Tomcat6+IIS6+jdk

    Tomcat6+IIS6+jdk 本人测试n次,成功!步骤详细!

    tomcat5.5+iis6+jkconnetctor简单配置飞扬清风

    标题中的"tomcat5.5+iis6+jkconnetctor简单配置飞扬清风"指的是在Windows环境下,通过Apache Tomcat 5.5版本、IIS 6(Internet Information Services)以及JK Connector来实现Web应用的集成部署。这种配置允许IIS...

    Tomcat+IIS整合配置文件

    "Tomcat+IIS整合配置文件"的标题和描述指向了一个特定的场景:将Apache Tomcat(一个流行的Java Servlet容器)与Microsoft IIS(互联网信息服务)集成,以实现更高效的Web服务。这种整合通常用于在同一个服务器上...

    Windows 2008实现iis7 +tomcat6的负载均衡

    本主题将深入探讨如何在Windows Server 2008操作系统上实现IIS7与Tomcat6的负载均衡配置,以提升系统性能和可用性。 首先,IIS(Internet Information Services)是微软提供的一个强大的Web服务器,而Tomcat则是一...

    集成Tomcat5+IIS5需要的所有文件和录像

    压缩包文件"集成Tomcat5+IIS5需要的所有文件和录像"应该包含了上述步骤所需的所有文件,如ISAPI重定向器的安装程序、配置示例、录像教程等。录像教程可能详细展示了每个步骤的操作过程,帮助用户更好地理解和实施...

    windows_server2003+tomcat+iis6整合

    重启IIS6和Tomcat6。("我的电脑" - 右键 - 管理 - 服务和应用程序 - 服务 ,重新启动Tomcat6,重新启动IIS6.) 或者: 先运行net stop w3svc关闭IIS服务。 再运行net start w3svc重新启动IIS。 七、测试网站,在...

    windows2003 + IIS6 + TOMCAT6 + J2SE1.5.0

    根据提供的文件信息,本文将详细解析如何在Windows 2003系统环境下配置IIS 6与Tomcat 6,并实现两者之间的交互操作。本文主要针对的是已经安装了IIS 6并希望集成Tomcat 6环境的用户,以便更好地支持Java Web应用程序...

    Tomcat5+IIS5服务器架设方法

    在Windows 2000 Server环境下,配置IIS5和Tomcat5共用80端口,可以让Web应用同时利用IIS的强大功能和Tomcat对Java应用的支持。以下是详细的配置步骤: **准备阶段** 1. **Java 2 SDK 1.4.2 或更高版本** - 访问`...

    Tomcat6.x+IIS6+jk2最新整合

    软件环境:Window server 2003+ IIS6.0 + Tomcat6.0 + JK2 整了大半天,不过直得整合的好处就不说了 1.导入注册表 iis+tomcat.reg 文件说明 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\...

    IIS6.0+tomcat6.0+JK整合(8080端口和80端口共用jsp网站)参考.pdf

    - 如果使用了多个域名,则需要在workers.properties文件中正确配置每个域名对应的host值。 通过上述步骤,您可以成功地将IIS和Tomcat进行整合,并实现通过标准HTTP端口80访问Tomcat中的JSP网站。

    Tomcat6.x+IIS6+jk2 整合

    软件环境:Window server 2003+ IIS6.0 + Tomcat6.0 + JK2 整了大半天,不过直得整合的好处就不说了 1.导入注册表 iis+tomcat.reg 文件说明 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\...

    Windows7系统IIS7+Tomcat集成

    Win7 系统 IIS7+Tomcat7 集成 通过 iis 和 tomcat 的集成可以让 tomcat 处理 jsp,iis 处理 asp 和 html 静态页面。 一、 安装 tomcat 我所用的 Tomcat 是最新版的 7.0.27 直接安装版,安装的位置是 D:\Program ...

    win2003下iis6+tomcat6整合包

    本知识点将详细阐述如何在win2003下进行iis6与tomcat6的整合,并介绍所需的文件和配置步骤。 首先,我们需要确保系统已经安装了以下组件: 1. **Windows Server 2003**: 这是运行IIS6的基础,提供了强大的Web服务...

Global site tag (gtag.js) - Google Analytics