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

Apache + Tomcat + Linux 集群和均衡负载 (Session 同步复制) 配置实践指南

阅读更多

   Apache + Tomcat + Linux 集群和均衡负载 (Session 同步复制) 配置实践指南

    经过我的多次测试实践,在linux和window下测试通过,win的比较简单,因为在默认的情况下,组播就已经打开。

    1 在linux 下同一台服务器上测试通过(注意端口不要冲突。特别要注意那个tcpListenPort=”4001″ )

    2 在window下的同一台服务器上测试通过,注意要点同上

    3 window下多台不同主机上测试通过,没有什么好注意点,可以完全备份一个tomcat

    4.linux多台不同tomcat服务器上测试通过。这个也是最后实现,最实际的方案。(一般不用在win下部署tomcatweb应用。呵呵。我觉得)

    这里讲下第四中情况

    先讲一下环境:都是在Red Hat Linux AS4上测试通过

    Apache:ip:192.168.1.11 (一台) 版本:2.0/2.2 (做均换负载服务器)

    Tomcat:ip1:192.168.1.12 ip2:192.168.1.13 (两台) 版本:5.0、5.5 (web应用的Real Server)

    Jdk:版本1.5 安装在 192.168.1.12 和192.168.1.13上的tomcat服务器上

    安装tomcat和apache ,在这里就不讲了。

    软件都可以在www.apache.org 的网站上找到(apache,tomcat,mod_jk)

    1.下载mod_jk.so 文件放到apache 下的modules下

    地址:http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/ 请选择正确的操作系统和Apache的版本。

    2.在apache的conf下建立文件workers.properties

    添加内容:

    #

    # workers.properties

    #

    # list the workers by name

    worker.list=tomcatlb, status

    # localhost server 1

    # ------------------------

    worker.tomcat12.port=8009

    worker.tomcat12.host=192.168.1.12

    worker.tomcat12.type=ajp13

    worker.tomcat12.lbfactor=1

    worker.tomcat12.connection_pool_timeout=750

    worker.tomcat12.socket_keepalive=0

    worker.tomcat12.socket_timeout=300000

    worker.tomcat12.connect_timeout=10000

    worker.tomcat12.reply_timeout=330000

    # localhost server 3

    # ------------------------

    worker.tomcat13.port=8009

    worker.tomcat13.host=192.168.1.13

    worker.tomcat13.type=ajp13

    worker.tomcat13.lbfactor=1

    worker.tomcat13.connection_pool_timeout=750

    worker.tomcat13.socket_keepalive=0

    worker.tomcat13.socket_timeout=300000

    worker.tomcat13.connect_timeout=10000

    worker.tomcat13.reply_timeout=330000

    worker.tomcatlb.type=lb

    worker.retries=3

    worker.tomcatlb.balanced_workers=tomcat12,tomcat13

    worker.tomcatlb.sticky_session=1

    worker.status.type=status

    3.在conf下添加一个mod_jk.conf文件

    LoadModule    jk_module  modules/mod_jk.so

    #configure mod_jk

    JkWorkersFile conf/workers.properties

    JkLogFile logs/mod_jk.log

    JkLogLevel debug
4.增加一个虚拟机配置文件vhosts.conf (这个不是必须的,可以将JkMount 的写其他的配置文件中)

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /data/google

    ServerName my.linuxcoffee.org

    ErrorLog logs/my.linuxcoffee.org-error_log

    CustomLog logs/my.linuxcoffee.org-access_log common

    DirectoryIndex index.htm  index.html

    JkMount /*.jsp tomcatlb

    JkMount /*.action tomcatlb

    JKMount /jkstatus status

    4.修改conf下的httpd.conf文件加上

    Include conf/vhosts.conf

    Include conf/mod_jk.conf

    5.配置tomcat

    讲Cluster 前的注释去掉,启用tomcat集群功能。

    一般不需要修改什么东西,但在我这边,两台linux的tomcat就是死活找不到node,而同样的配置文件在window下的跑得很是正常。

    有个东西要说明下,因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。

    可以通过netstate -g 来查看组播状态,也可以在route -e 命令中看到

    原来一直提示这个问题

    信息: Manager [/clusterapp]: skipping state transfer. No members active in cluster group.

    最后测试只要修改在Cluster之间的一段代码

    Receiver

    className="

    org.apache.catalina.cluster.tcp.ReplicationListener"

    tcpListenAddress="auto"

    tcpListenPort="4001"

    tcpSelectorTimeout="100"

    tcpThreadCount="6"/>

    改为

    Receiver

    className="

    org.apache.catalina.cluster.tcp.ReplicationListener"

    tcpListenAddress="192.168.1.12"

    tcpListenPort="4001"

    tcpSelectorTimeout="100"

    tcpThreadCount="6"/>

    在13的服务器上也将这一段修改为自己的ip

    然后打开jvmRoute ,跟workers.properties 的两个tomcat名字相匹配

    ip1

    Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat12"/>

    ip2

    Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat13"/>

    好了,apache和tomcat的配置好了,可以访问了。

    这里,再提供一个链接,可以监控和配置负载均衡的各种信息

    http://192.168.1.11/jkstatus或http://my.linuxcoffee.org、jkstatus来访问网站。

    注:需要在web.xml的display-name后面 下加上一段。 这个跟顺序有关的,不然,xml文件会变红哦。

    xml version="1.0" encoding="UTF-8"?>

    web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

    display-name>TomcatDemodisplay-name>

    distributable/>

    web-app>

分享到:
评论

相关推荐

    Apache+Tomcat+Linux集群和均衡负载(Session同步复制

    Apache+Tomcat+Linux集群和均衡负载(Session同步复制

    Apache+Tomcat+JK 实现集群负载均衡文档

    Apache+Tomcat+JK 实现集群负载均衡是一种常见的Web服务器和应用服务器的部署方式,它能够提高系统的可用性和响应速度,实现服务的高并发处理。本文将详细介绍如何配置这一环境。 首先,我们需要准备以下软件: 1. ...

    Apache+Tomcat集群和负载均衡及Session绑定

    【Apache+Tomcat 集群与负载均衡及Session...通过以上配置,Apache+Tomcat集群可以实现高效的负载均衡和高可用性,同时通过Session绑定确保用户会话的连续性。注意定期监控和优化集群性能,以应对不断变化的业务需求。

    Apache+Tomcat服务器集群配置详细步骤

    本文将详细介绍如何在一机双Tomcat环境下搭建Apache+Tomcat集群,并深入解析其中的关键配置和技术细节。 #### 二、Apache+Tomcat集群的优势 1. **高可靠性(HA)**:通过集群管理软件实现在主服务器发生故障时,备份...

    Apache+Tomcat负载均衡与集群配置详解

    Apache+Tomcat负载均衡与集群配置是提升Web应用性能和高可用性的重要手段。这篇文章将详细介绍如何使用Apache作为前端负载均衡器,与多台Tomcat服务器配合构建集群环境。 首先,我们要理解负载均衡的基本概念,它是...

    apache+tomcat集群配置

    本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。 一、安装 Apache 服务器 首先,需要安装 Apache ...

    Apache+Tomcat实现负载均衡及集群(session同步)--五、session同步(3)使用memcache

    Apache和Tomcat的组合经常被用来搭建这样的架构,特别是在实现负载均衡和集群时。在这个场景中,session同步是一个核心问题,因为用户session数据的正确管理和共享是保持应用程序一致性和用户体验的关键。本文将深入...

    Mod_Proxy+Apache+Tomcat负载均衡与集群配置

    本文档详细介绍了使用mod_proxy模块与Apache和Tomcat结合来实现负载均衡与集群配置的过程。配置前需要准备相应的环境,包括安装JDK、Apache HTTP Server和Tomcat服务器。本文档使用了Tomcat 7.0.2作为应用服务器,并...

    Windows下Apache2.2+Tomcat6配置集群、负载均衡、session共享

    在Windows环境下,Apache2.2和Tomcat6的组合是一个常见的Web服务器架构,用于搭建集群、实现负载均衡和处理session共享。Apache作为前端反向代理服务器,负责分发请求到后端的多个Tomcat实例,以提高应用的可用性和...

    linux下apache+tomact基于集群负载均衡session复制

    ### Linux 下 Apache+Tomcat 基于集群负载均衡 Session 复制 #### 一、概述 在现代 Web 应用开发中,为了提高服务的可用性和响应速度,常常会采用集群技术。其中,Apache 和 Tomcat 组合是常用的方案之一。本篇...

    Nginx+Tomcat+memcached实现集群部署、负载均衡session共享.rar

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"Nginx+Tomcat+memcached实现集群部署、负载均衡session共享"是一种常见的解决方案。这个方案结合了Nginx作为反向代理和负载均衡器,Tomcat作为Java应用...

    .在32位操作系统上配置apache+tomcat集群/负载均衡/session复制

    标题中的“在32位操作系统上配置apache+tomcat集群/负载均衡/session复制”涉及到的是在32位系统环境下,如何构建一个使用Apache HTTP Server作为前端负载均衡器,与多个Tomcat应用服务器协同工作的集群环境,并实现...

    apache_server+Tomcat7集群负载均衡session共享

    通过上述配置,Apache Server 2.2和Tomcat7集群可以提供高可用和高效的Web服务,同时通过session共享保证了用户会话的连续性,提升了用户体验。提供的LICENSE、NOTICE和README文件通常包含了软件授权信息、版权声明...

    apache+tomcat负责均衡和集群配置手册

    本文将深入解析如何通过配置Apache和Tomcat实现负载均衡和集群化,从而提升系统的稳定性和响应速度。 #### 一、准备工作 首先,我们需要准备必要的软件: - **Apache**: 下载适合Windows平台的Apache安装包`...

    Apache+Tomcat5.0实现集群

    通过集成Apache和Tomcat,可以构建一个高效且可扩展的Web服务器集群,实现负载均衡和session复制功能。 集群技术的主要目标是提高系统的可用性和性能,通过将工作负载分散到多个服务器上,避免单点故障,并提高处理...

    Apache和Tomcat实现集群和负载均衡(WindowsNT)

    ### Apache和Tomcat实现集群和负载均衡(Windows NT) #### 软件环境 为了实现Apache与Tomcat的集群及负载均衡,在Windows NT环境下需要准备以下软件环境: 1. **Apache**: 版本2.0.55。可以从官方网站...

    Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程

    在Linux环境中,使用Apache、Tomcat和JK模块实现负载均衡和群集是一项常见的高可用性架构设计,它能够有效地分发网络流量,提高系统的可扩展性和稳定性。Apache作为前端Web服务器,负责接收用户请求并根据配置策略将...

Global site tag (gtag.js) - Google Analytics