`
changkunyang
  • 浏览: 30866 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache+tomcat负载均衡的入门配置

阅读更多

这份文档只是一个初步的配置负载均衡的文档,没有涉及过多的性能优化的东西。

所以也就不多言了,直接切入主题。

一、准备工作

安装JDK 并配置环境变量。这里要求至少 1.5 以上版本。

安装apache2.2 。我的安装目录为: D:\Apache 2.2

安装tomcat6 。为了端口不起冲突,建议直接解压。我这里只使用了两台 tomcat 作为集群服务器。其路径分别为 D:\apache-tomcat-6.0.20_v1 D:\apache-tomcat-6.0.20_v2

二、配置Apache

这里说明一下,我在网上找到的一些资料都在介绍mod_JK 的方式配置负载均衡。但是从 apache2.X 版本之后其自身已经集成了 mod_jk 可以直接使用 mod_proxy 的方式进行负载均衡的配置,所以下面介绍的也即是这种方式。

D:\Apache2.2\conf 目录下找到 httpd.conf 文件,并进行修改。修改步骤:

1、打开相关的模块。

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 rewrite_module modules/mod_rewrite.so

在配置文件里找到上述模块,将前边的“# ”去掉 .

2 配置 tomcat 集群

在该配置文件的最后加上:

ProxyRequests Off

ProxyPass / balancer://cluster/

<proxy balancer://cluster> 

BalancerMember ajp:// localhost:8009  loadfactor=1 route= jvm1

BalancerMember ajp:// localhost:9009  loadfactor=1 route= jvm2

</proxy>

注意红色部分,因为这里我只使用了一台物理机器作为集群的配置,所以就直接使用了localhost 指向本地的集群服务器,你也可以使用 127.0.0.1 。如果这里你使用多台机器一起配合的话,只需要将 localhost 修改为其他机器的 IP 地址就行。

另外需要注意的就是上面配置的端口,为什么要这么配置?将在后边结合tomcat 一起做一个详细的说明。

三、配置tomcat

D:\apache-tomcat-*\conf 找到 server.xml ,然后着手修改。

1、配置 server 的关闭。

因为我是在同一台机器上配置两台tomcat ,所以为了使 tomcat 关闭不出现端口被占用的情况,需要修改关闭端口。

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

修改为:

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

注意,我这里用了两台tomcat ,所以第一个 tomcat 我就选择了默认的端口 8005 ,第二个 tomcat 我将此端口修改为了 9005 。总之,如果你有多台 tomcat 服务器群,都需要将它们的端口修改为互不冲突的端口号。

2、配置 Connector

这里又两个地方需要修改, 第一个就是 tomcat 监听的 http 端口,另一个就是 tomcat 监听的 AJP 端口:

<Connector port=" 8080 " protocol="HTTP/1.1" 

               connectionTimeout="20000" 

               redirectPort="8443" />

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

注意,蓝色部分是tomcat http 端口,因为我在同一台机器上配置了两个 tomcat ,为了使它们的 http 端口不冲突,我将第一个 tomcat 使用默认的端口即 8080 ,第二个 tomcat http 端口我修改为了 8081 。同样的道理,如果你还有其他的 tomcat ,记得将它们的 http 端口修改为互不冲突的端口号即可。

另一个需要修改的端口,红色部分的端口, 这里是apache tomcat 链接的关键,前台 apache 就是通过 AJP 协议与 tomcat 进行通信的,以完成负载均衡的作用。 现在回过头去看看 apache httpd.conf 配置,

<proxy balancer://cluster> 

BalancerMember ajp:// localhost:8009  loadfactor=1 route= jvm1

BalancerMember ajp:// localhost:9009  loadfactor=1 route= jvm2

</proxy>

那么,另一个tomcat AJP 端口你知道要配置成什么了吗?对了,就是 9009

3、配置 Engine

<Engine name="Catalina" defaultHost="localhost">,这个是原来的配置,现在将这个配置修改为: <Engine name="Catalina" defaultHost="localhost" jvmRoute=" jvm1 ">,然后另一个 tomcat 修改为 <Engine name="Catalina" defaultHost="localhost" jvmRoute=" jvm2 ">

现在再回过头去看看apache 的配置:

<proxy balancer://cluster> 

BalancerMember ajp:// localhost:8009  loadfactor=1 route= jvm1

BalancerMember ajp:// localhost:9009  loadfactor=1 route= jvm2

</proxy>

这里再说明一点,loadfactor 相当于一种加权策略, loadfactor 的值越大,对应的 tomcat 服务器分到的请求就越多。像上面的这种设置就说明两台 tomcat 将平均负载。

4、配置 Session 的复制

Tomcat里的  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 这个配置默认是被注释掉的,如果想要开启取消注释就 OK ,这也是 tomcat 默认的会话同步和复制配置。一般的情况下,使用默认配置就可以。

关于session 的复制我还没来得及验证过,有需要的同学可以自己去网上找一下相关资料。

分享到:
评论

相关推荐

    apache+tomcat集群文档

    - **Apache + Tomcat 集群文档**:此文档旨在详细介绍如何配置Apache与Tomcat组成的集群环境,以便实现负载均衡、高可用性和高扩展性。 #### 描述解读: - 本文档针对Apache Tomcat集群配置进行了详尽的说明,特别...

    nginx-1.11.3+apache-tomcat-7.0.47搭建高性能负载均衡集群

    ### Nginx 1.11.3 + Apache Tomcat 7.0.47 高性能负载均衡集群搭建详解 #### 一、引言 随着互联网应用的不断发展,单一服务器已经难以满足高并发访问的需求。为了提高系统的可用性和响应速度,负载均衡技术成为了一...

    ApacheTomcat整合入门级教程

    提供的文档资料如《ApacheTomcat整合教程.pdf》和《BOXIN网站系统环境搭建APACHE+TOMCAT.pdf》将更深入地指导你完成具体步骤。在学习过程中,遇到问题可参考官方文档或社区资源,不断积累经验,提高技术水平。

    从零开始整合apache2.0.48+Tomcat5.0.16[完全图文教程]

    该集成方案不仅能够提高Web应用的性能和稳定性,还能够实现负载均衡等功能。值得注意的是,虽然本教程提供了入门级别的指南,但对于更复杂的部署环境,还需要进一步学习和实践,例如深入理解web.xml配置文件中的...

    apache-tomcat-6.0.16

    9. **集群与负载均衡**:对于大型项目,了解如何设置Tomcat集群以实现负载均衡和高可用性。 10. **与IDE集成**:学习如何在Eclipse、IntelliJ IDEA等集成开发环境中配置Tomcat,以便于开发和调试Java Web应用程序。...

    apache tomcat使用技巧

    在 Apache Tomcat 中,还有很多高级使用技巧,例如配置虚拟主机、配置 SSL 加密、配置负载均衡等。这些技巧可以帮助开发者更好地使用 Apache Tomcat,提高 Web 应用程序的性能和安全性。 本文为读者提供了一个详细...

    nginx结合tomcat实现负载分担入门

    - **负载均衡**:Nginx 可以通过轮询、最少连接数等多种策略将请求分发到多个 Tomcat 实例,从而实现负载均衡。 - **静态资源处理**:Nginx 本身擅长处理静态资源,可以显著减轻 Tomcat 的负担。 - **安全性**:...

    apache-tomcat-6.0.14

    8. **集群和负载均衡**:虽然Tomcat6.0.14的集群功能相比现代版本可能较为基础,但依然可以通过配置实现多个Tomcat实例间的session复制,以达到负载均衡的目的。 总之,Apache Tomcat 6.0.14是一个适合初学者入门的...

    apache-tomcat-7.0.21.tar

    Apache Tomcat 7.0.21的安装与配置是初学者入门Web服务器的重要步骤。以下是一些关键知识点: 1. **下载与解压**:`apache-tomcat-7.0.21.tar` 是一个压缩文件,通常在Linux或Mac OS上使用`tar`命令进行解压。例如...

    apache-tomcat-6.0.20 xp 安装文件

    对于高级用户,还可以探索Clustering和负载均衡,以实现高可用性和性能扩展。 总的来说,Apache Tomcat 6.0.20 XP安装文件是初学者入门Java Web开发的一个良好起点,同时也为那些需要维护旧系统的人提供了一个可靠...

    apache- tomcat-6.0

    11. **集群和负载均衡**:Tomcat 6.0支持集群配置,可以实现应用的高可用性和负载均衡,但这一特性相比现代版本可能较为基础。 12. **性能优化**:包括调整最大线程数、开启线程池、启用压缩、减少session复制等,...

    apache-tomcat-8.5.54-windows-x64.zip

    以上是关于Apache Tomcat 8.5.54在Windows 64位系统上的一些关键知识点,这些内容涵盖了基本的安装、配置、管理和优化等方面,为初学者提供了入门指导。在实际操作中,还需要结合具体需求和场景进行深入学习和实践。

    jboss配置入门,jboss的初级配置

    jboss配置入门 jboss系统是一种基于Java的应用服务器,具有...jboss的配置入门包括了解jboss的文件夹结构、配置文件、负载均衡配置等。通过本文,我们可以更好地了解jboss的基本配置,并为后续的学习和实践打下基础。

    Nginx和Tomcat集群环境部署

    利用Nginx作为反向代理服务器,可以将客户端请求分发到后端的Tomcat服务器集群中,实现负载均衡。 #### 十、Nginx集群部署与负载均衡 ##### 8.1 集群部署 1. 将多台Tomcat服务器配置为相同的版本和配置。 2. 使用...

    professional apache tomcat 5.pdf

    另外,书中的章节还涵盖了集群、负载均衡和故障恢复,这些都是构建高可用性系统的必备技能。读者可以学习到如何通过Tomcat实现应用的横向扩展,以应对高并发场景。 对于开发人员而言,书中也详细讲解了如何调试和...

    Apache Tomcat 7 Essentials by Tanuj Khare.pdf

    - **负载均衡**:介绍如何使用 Tomcat 配合其他负载均衡器实现集群部署。 #### 六、Tomcat 7 的高级主题 - **安全性最佳实践**:探讨如何配置 Tomcat 以达到更高的安全性标准。 - **故障转移**:学习如何配置 ...

    Tomcat服务入门 精品文档.docx

    在商业领域,WebLogic和WebSphere是知名的收费Web服务器,它们通常提供更全面的企业级特性,如集群、负载均衡和高级安全管理。相比之下,Tomcat和JBoss则是免费的,但同样适用于商业用途,尤其是对于小型到中型的Web...

    tomcat 8.0.52 免安装

    10. **集群和负载均衡**:通过配置server.xml中的Cluster和Engine元素,Tomcat可以实现集群部署,实现负载均衡和故障转移。 以上就是关于"Tomcat 8.0.52 免安装"的详细知识点,这些内容涵盖了Tomcat的基础配置、...

    Linux运维从入门到高级全套案例v3.rar

    目录 Linux入门篇 操作系统简介 1.2 Linux发展趋势 3 Linux系统安装 4 Linux学习技巧 2. Linux系统篇…… 2.1 Linux系统管理… 2.1.1 Linux目录初识 2.1.2 Linux常用命令 ...5.8Ls+ Keepalived负载均衡

Global site tag (gtag.js) - Google Analytics