环境:
apache 2.4.16
tomcat 8.0.15
第一步:
1.准备多个tomcat的实例,在这里我简单的采取了复制多个tomcat的方式
由于多个实例全跑在一台服务器上,因此需要修改三个端口号,默认端口号如下:
8005
8080
8009
按实际情况修改三份不同的端口即可。
2.修改tomcat server.xml文件
为 Engine 节点增加 jvmRoute 属性,属性值为节点名称,如: jvmRoute="node_a"
这个名称会在apache的配置文件中用到
取消每个实例 Engine 节点下的
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
的注释,此项配置用于session复制和共享
第二步:
修改apache配置,取消以下行前面的#号注释
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
修改%APACHE_HOME%\conf\extra下的httpd-vhosts.conf配置文件
ProxyRequests off 关闭正向代理
增加以下内容
<VirtualHost *:80>
ServerAdmin sz@localhost
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse / balancer://cluster/
#ErrorLog "logs/error.log"
#CustomLog "logs/access.log" common
</VirtualHost>
<proxy balancer://cluster>
BalancerMember ajp://127.0.0.1:8010 loadfactor=1 route=node_a smax=5 max=20 ttl=120 retry=300 timeout=15
BalancerMember ajp://127.0.0.1:8011 loadfactor=1 route=node_b smax=5 max=20 ttl=120 retry=300 timeout=15
BalancerMember http://127.0.0.1:8080 status=+H
ProxySet lbmethod=byrequests
</proxy>
其中 BalancerMember http://127.0.0.1:8080 status=+H 为后备节点,当负载节点全部失效时,请求会转发给后备节点
第三步:
为文件上传配置虚拟目录
修改tomcat server.xml文件,在 Host 节点下增加
<Context path="/upload" docBase="D:\web_file_root\upload"></Context>
<Context path="/export" docBase="D:\web_file_root\export"></Context>
<Context path="/download" docBase="D:\web_file_root\download"></Context>
增加虚拟路径映射后,相应的http://xx.xx.xx.xx/upload...请求会被映射到配置的物理路径中,在项目中配置文件上传的物理路径为对应的路径后,即可在集群环境中正常使用文件上传及下载
备注:如果希望tomcat的各个实例间可以session共享,需在web项目的web.xml配置文件中增加<distributable/>,此处未进行详细测试;session共享要求所有session对象实现Serializable
由于时间原因,本次配置成功后未对所有配置项进行深入的了解,现将所有配置项记录下来,以后有时间还需对每个配置项作相应了解,以掌握相关的原理及性能调优的方式。
参考资料:
http://www.cnblogs.com/fly_binbin/p/3881207.html
分享到:
相关推荐
通过以上步骤,可以构建一个基本的Apache Tomcat负载均衡系统,提供高可用性和高性能的服务。在实际部署中,还需要考虑安全性、日志管理、故障切换以及性能监控等多个方面,以确保系统的稳定运行。
Apache 配置负载均衡是将所有用户的访问压力分散到多台服务器上,也可以分散到多个 Tomcat 里,提高访问性能。负载均衡的主要目标是将用户的访问请求分流到多个服务器或 Tomcat 中,以提高访问性能和可用性。 负载...
通过以上步骤,我们可以构建一个简单的Windows环境下的Apache和Tomcat负载均衡系统,它能够根据配置自动将请求分发到不同的Tomcat实例,提高系统处理能力,并提供一定的容错性。在实际应用中,还需要考虑监控、故障...
《Linux Apache + Tomcat 负载均衡安装与调试详解》 在当今互联网环境中,高可用性和可扩展性是服务器架构的重要考量因素。Linux、Apache 和 Tomcat 的组合是搭建高性能 Web 应用服务器的常见选择,而通过负载均衡...
Apache Tomcat 负载均衡和集群是企业级应用服务器部署中常见的技术,它能够提高系统的可用性、可扩展性和性能。在这个主题中,我们将深入探讨如何通过Apache HTTP Server(通常简称为Apache)配合Tomcat实现负载均衡...
在当今的企业级应用中,确保系统的高可用性和稳定性是至关重要的。这通常通过建立集群来实现,即通过部署多台服务器来提供相同的服务,以此来...这样,就完成了整个Mod_Proxy+Apache+Tomcat负载均衡与集群的配置过程。
在这个场景中,Apache扮演着负载均衡器的角色,接收来自客户端的请求,并根据预设策略将请求转发到适当的Tomcat实例。 2. Tomcat7:Tomcat是Apache软件基金会的Java Servlet和JavaServer Pages(JSP)容器,专注于...
Apache+JK+Tomcat搭建负载均衡是一种常见的高可用性和性能优化策略,主要目的是分散网络流量,提高服务的稳定性和响应速度。这个方案特别适合大型网站或应用,可以有效防止单点故障,提升用户体验。 首先,负载均衡...
本文将深入探讨如何配置两个Tomcat实例实现负载均衡,并通过session复制来确保用户会话在集群中的无缝切换。 **一、负载均衡** 负载均衡是将网络请求分发到多个服务器上的技术,以防止单一服务器过载并提高服务的...
当Apache与Tomcat结合使用时,Apache可以作为前端服务器接收请求,然后将这些请求智能地转发到后端的多个Tomcat实例上,从而实现负载均衡。 **一、Apache的负载均衡模块:mod_proxy** Apache的mod_proxy模块是实现...
"Windows环境Apache,Tomcat集群,动静分离,负载均衡"这一主题涵盖了四个关键概念,它们对于构建稳定、高可用的Web系统至关重要。 首先,让我们详细探讨**Windows环境下的Apache**。Apache HTTP Server是一款开源、跨...
【Linux平台Apache高可用双机集群Tomcat负载均衡集群配置】 在构建高可用性和负载均衡的Web服务环境中,Linux平台上的Apache HTTP Server和Tomcat应用服务器的组合是一种常见且高效的选择。本配置手册主要涉及如何...
本主题聚焦于"Apache+Tomcat集群的负载均衡配置",通过Apache作为前端代理服务器,对后端的多个Tomcat实例进行负载分发,以实现高可用和高性能的服务。 首先,我们要理解负载均衡的基本概念。负载均衡是指将流入的...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx+tomcat实现负载均衡1"的主题就是探讨如何通过Nginx反向代理和Tomcat应用服务器结合,来提升系统的性能和稳定性。这一组合是业界常用的一种架构模式,...
【Apache和Tomcat集群与负载均衡】 Apache和Tomcat集群的构建主要目的是为了提高系统可用性和性能,通过负载均衡技术将客户端的请求分散到多个服务器上,以减轻单个服务器的压力,防止过载并提高服务的可靠性。在这...
1. Apache的mod_proxy_balancer模块:该模块提供了负载均衡功能,可以管理多个后端服务器并根据预设策略分配请求。配置时,需要定义一个Balancer成员,包含所有可用的Tomcat实例。 2. Tomcat的Clustering:Tomcat...
### Apache + Tomcat 负载均衡设置详解 #### 一、引言 在现代Web应用部署场景中,为了提高网站的性能、可用性及扩展性,常常采用Apache与Tomcat结合的方式,通过负载均衡技术分散请求到多个服务器节点上。这种架构...