1、下载和安装。
下载安装apache2.2.3,tomcat6.0.(注意设置环境变量)
2、配置Apache
修改Apache安装目录下conf/httpd.conf文件.
由
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
修改为:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
填加以下内容(注意此配置是在1台PC开多TOMCAT进程,并注意注释的格式):
# ProxyRequests Off
#
ProxyPass / balancer://tomcatcluster/ lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=3 maxattempts=3
###################################################################
#
# IBmethod:
# Balancer load-balance method. Select the load-balancing scheduler method to use. Either byrequests, to perform weighted request counting or bytraffic, to perform weighted traffic byte #count balancing. Default is byrequests.
#
# stickysession:
# Balancer sticky session name. The value is usually set to something like JSESSIONID or #PHPSESSIONID, and it depends on the backend application server that # support sessions.
#
# nofailover:
# If set to On the session will break if the worker is in error state or disabled. Set this value #to On if backend servers do not support session
# replication.
#
# timeout:
# Balancer timeout in seconds. If set this will be the maximum time to wait for a free worker. #Default is not to wait.
#
# maxattempts:
# Maximum number of failover attempts before giving up.
####################################################################################
ProxyPassReverse / balancer://tomcatcluster/
<Proxy balancer://tomcatcluster>
BalancerMember ajp://localhost:8109 smax=10 route=jvm1
BalancerMember ajp://localhost:8209 smax=10 route=jvm2
BalancerMember ajp://localhost:8309 smax=10 route=jvm3
BalancerMember ajp://localhost:8409 smax=10 route=jvm4
BalancerMember ajp://localhost:8509 smax=10 route=jvm5
</Proxy>
# smax:
# Upto the Soft Maximum number of connections will be created on demand. Any connections above smax are subject to a time to live or ttl.
# route:
# Route of the worker when used inside load balancer. The route is a value appended to seesion id.
注意端口号和TOMCAT配置保持一致,并避免冲突,否则启动TOMCAT将失败.
3、配置Tomcat
安装多个TOMCAT(ZIP版本,不要安装"安装版本")
修改TOMCAT安装目录下conf/server.xml
如修改tomcat_1配置
修改:
<Server port="8105" shutdown="SHUTDOWN">
修改:
<Connectorport="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8143" />
修改:
<Connectorport="8109" protocol="AJP/1.3" redirectPort="8143" />
修改:
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
修改另外几个tomcat文件,并避免端口冲突.如果多个TOMCAT安装在多个服务器则只要注意IP地址的正确.
4、保持Session同步
在TOMCAT安装目录conf/server.xml下的
<Engine>... </Engine>标签下填加如下内容:
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="4">
<ManagerclassName="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" />
- <!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
- <!-- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
- <Channel className="org.apache.catalina.tribes.group.GroupChannel">
<MembershipclassName="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000" />
<ReceiverclassName="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4001" autoBind="100" selectorTimeout="5000" maxThreads="6" />
- <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender" />
</Sender>
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector" />
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor" />
</Channel>
<ValveclassName="org.apache.catalina.ha.tcp.ReplicationValve" filter="" />
<ValveclassName="org.apache.catalina.ha.session.JvmRouteBinderValve" />
<DeployerclassName="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false" />
<ClusterListenerclassName="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener" />
<ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener" />
</Cluster>
#注意port="4001" 是否与其他TOMCAT进程冲突.
配置详细解释见文档"Clustering-Session Replication HOW-TO.htm"
5、修改WEB项目Web.xml
在工程项目中修改web.xml;
填加如下标签:
<distributable/>
6、Testing
打开浏览器,写一个简单的JSP,测试
http://localhost/mytest/index.jsp
http://localhost/mytest:8109/index.jsp
http://localhost/mytest:8209/index.jsp
http://localhost/mytest:8309/index.jsp
http://localhost/mytest:8409/index.jsp
http://localhost/mytest:8509/index.jsp
7、QA
问:如何配置多个服务器?
答:修改Apache 下httpd.conf文件;
把
<Proxy balancer://tomcatcluster>
BalancerMember ajp://localhost:8109 smax=10 route=jvm1
BalancerMember ajp://localhost:8209 smax=10 route=jvm2
BalancerMember ajp://localhost:8309 smax=10 route=jvm3
BalancerMember ajp://localhost:8409 smax=10 route=jvm4
BalancerMember ajp://localhost:8509 smax=10 route=jvm5
</Proxy>
中的localhost改成内部服务器IP地址就OK了.
问:为什么启动多个TOMCAT进程失败?
答:注意配置的TOMCAT服务各个端口是否有冲突.
问:为什么session不能保持一致?
答:需要注意以下几点:
All your session attributes must implement java.io.Serializable
If you have defined custom cluster valves, make sure you have the ReplicationValve defined as well under the Cluster element in server.xml
If your Tomcat instances are running on the same machine, make sure the tcpListenPort attribute is unique for each instance, in most cases Tomcat is smart enough to resolve this on it's own by autodetecting available ports in the range 4000-4100
Make sure your web.xml has the <distributable/> element or set at your <Context distributable="true" />
Make sure that all nodes have the same time and sync with NTP service!
Make sure that your loadbalancer is configured for sticky session mode.
分享到:
- 2009-04-09 17:06
- 浏览 2354
- 评论(0)
- 论坛回复 / 浏览 (0 / 3324)
- 查看更多
相关推荐
标题中的“tomcat5.5 + tomcat 6.0”指的是Apache Tomcat服务器的两个不同版本。Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。这两个版本分别代表了Tomcat在不同时间点的...
### Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合 本文旨在深入探讨如何将Apache 2.2、Tomcat 6.0、MySQL 5.0以及mod_jk进行有效的整合,以构建一个高性能、可扩展的应用服务器环境。这种整合方式不仅能够...
Tomcat6.0是一款遵循Apache Software Foundation的Jakarta项目下的Servlet和JavaServer Pages (JSP) 规范的应用服务器,主要处理Java Web应用程序。它轻量级、高效且开源,是许多开发者的首选。 3. **整合背景** ...
Apache2.2与Tomcat6.0的组合可以构建一个高效、可靠的负载均衡服务器系统,以分散客户端请求到多个后端应用服务器,提高整体服务的可用性和响应速度。以下是搭建和配置的关键步骤及知识点: 1. **Apache2.2安装配置...
Apache2.2与Tomcat6.0的组合可以创建一个高效能、高可用性的Web服务器环境,通过负载均衡技术,可以有效地分散用户请求到多个Tomcat实例,从而提高系统的响应速度和整体性能。以下是关于这个配置的详细知识讲解: 1...
### MyEclipse 5.5 + Tomcat 6.0 + 最快捷汉化搭建系统开发平台 #### 一、概述 随着Java技术的发展,越来越多的企业和个人开发者选择使用集成开发环境(IDE)来提高开发效率。MyEclipse作为一款功能强大的Java EE...
"两台服务器上做Apache2.2+Tomcat6.0+mod_jk的负载均衡"是一个典型的分布式系统架构,旨在通过在多台服务器之间分配工作负载来提高系统的稳定性和性能。下面将详细介绍这个配置涉及的知识点: 1. **Apache ...
Apache 2.2.4 和 Tomcat 6.0 的整合配置是一项常见的任务,尤其在部署Java Web应用程序时。这两个组件分别作为Web服务器和应用服务器,通过特定的方式协同工作,以提供动态内容服务。这里我们将深入探讨这个整合过程...
在本文中,我们将深入探讨如何搭建一个基于MyEclipse 6.5、Flex 3、Tomcat 6.0和ds-console.war的开发环境。这个环境主要用于开发和部署使用Flex前端与Java后端交互的应用程序,特别是通过LCDS(LiveCycle Data ...
本教程将探讨如何在一台机器上配置Apache 2.2.15与Tomcat 6.0的集群,以实现负载均衡和提高服务的可用性。 首先,Apache 2.2.15是Apache HTTP Server的一个版本,它提供了强大的静态内容处理能力和与其他服务器的...
在这个解压版中,包含了Tomcat的两个不同版本:Tomcat 5.5和Tomcat 6.0。 Tomcat 5.5是在2005年发布的,它是Tomcat的一个重要版本,引入了许多新特性和改进。其中,最重要的是对Servlet 2.4和JSP 2.0规范的支持,这...
Apache 2.2 和 Tomcat 6.0 的负载均衡配置是提高Web应用程序性能和可扩展性的重要技术。在高流量环境下,通过将工作负载分散到多个Tomcat实例上,可以确保服务的稳定性和响应速度,同时避免单一服务器过载。下面我们...
标题"tomcat5.5和tomcat6.0"指的是Apache Tomcat的两个不同版本,即5.5版和6.0版。Tomcat是一款开源的Java Servlet容器,它实现了Java EE的Web部分,包括Servlet和JSP规范。描述中提到,Tomcat具有技术先进、性能...
Apache2.2与Tomcat6.0的集成配置是一个常见的软件开发任务,特别是在构建高性能、高可用性的Web应用服务器环境中。Apache作为静态内容处理的强力HTTP服务器,与Tomcat(一个流行的Java Servlet容器)结合使用,可以...
在Windows XP操作系统上搭建一个完整的Web开发环境,包括Apache Web Server 2.2、PHP 5.2.9.2、MySQL 6.0、Tomcat 6.0以及JSP整合,是一个常见的需求,特别是在进行多语言动态网站开发时。这个压缩包提供了一整套的...
标题与描述均聚焦于“Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ Java+Blazeds环境配置和使用”,这一主题涉及了多种技术栈的集成,包括Flex4.5(FlashBuilder)、Tomcat6.0、MyEclipse 9.0、Java以及Blazeds。...
【标题】:“图书馆管理系统struts2+mysql+tomcat6.0+myeclipse6.0” 本系统是一个基于Java技术栈的图书馆管理解决方案,它整合了Struts2框架、MySQL数据库、Tomcat应用服务器以及MyEclipse集成开发环境。这个项目...
- **下载Tomcat**:访问Apache官方网站下载Tomcat 6.0或更高版本的安装包。 - **安装配置Tomcat**: - 解压下载的Tomcat压缩包至一个合适的位置。 - 修改`conf`目录下的`server.xml`配置文件,设置合适的端口号和...
2. Tomcat 6.0:Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,是一个开源的Servlet容器,主要用于实现Java Servlet和JavaServer Pages(JSP)技术。在Myeclipse中,Tomcat作为服务器运行环境,用于部署...