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

keepalived + nginx + tomcat+memcached+高可用主从热备+负载均衡

阅读更多

keepalived + nginx + tomcat来实现HA的负载均衡(HA=高可用)

 

注:

 

此文未考虑session共享 ---> 负载均衡tomcat时利用memcached实现session共享 请参考另一篇博客

 

设备:

 

两台keepalived + nginx  keepalived和nginx同一台服务器都要安装  IP为 192.168.159.31和192.168.159.34

 

两台 tomcat服务器       IP为 192.168.159.32和192.168.159.33

 

 

第一步:nginx实现负载均衡

 

1:配置nginx.conf  (我主要贴出来重要的代码)

 

upstream you { # 这个是负载均衡哪几台服务器

server 192.168.159.32:8080;

server 192.168.159.33:8080;

}

 

server {

 

......

 

location / {

root   html;

index  index.html index.htm;

proxy_pass http://you;  # 引用定义的you

}

 

 

......

 

 

}

 

2:两台nginx都需要配置上述代码

 

3:把两台的tomcat都启动;可以启动一台nginx(192.168.159.31); 

 

 然后浏览器中输入192.168.159.31 即可在页面上看到访问了不同的tomcat(可以修改index.jsp来区分tomcat)

 

第二步:利用keepalived 来实现高可用

 

1:上述已经表明两台keepalived的IP为 192.168.159.31和192.168.159.34 

 

2:此处规定 192.168.159.31为MASTER(主)  192.168.159.34为BACKUP(备)  虚拟IP为 192.168.159.200

 

3:配置/etc/keepalived/keepalived.conf (一般就是这个路径)

 

代码如下:

 

! Configuration File for keepalived

 

global_defs {

  notification_email {

root@localhost

  }

  notification_email_from hello@localhost

  smtp_server 127.0.0.1

  smtp_connect_timeout 30

  router_id LVS_DEVEL

}

 

vrrp_script check_nginx {

  script "/home/check_nginx.sh"  #在/home下创建check_nginx.sh

  interval 2

  weight 2

}

 

vrrp_instance VI_1 {

state MASTER #在另一台上为BACKUP

interface eth0

virtual_router_id 51

priority 199 #在另一台上修改小点,最好相差50 

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.159.200/24 dev eth0 label eth0:1  #绑定虚拟IP(VIP) 此IP为浏览器访问的IP

}

track_script {

  check_nginx 

}

}

 

 

4:vi /home/check_nginx

 

#!/bin/bash

#

URL="http://192.168.159.31" #此处对应nginx的IP地址

code=`curl -I -m 5 -o /dev/null -s -w %{http_code} $URL`  #检测nginx是否还活着

if [ $code -ne 200 ];then

 sleep 2

 code=`curl -I -m 5 -o /dev/null -s -w %{http_code} $URL`

 if [ $code -ne 200 ];then

`service keepalived stop`

 fi

fi

 

5:上述 3和4部 两台keepalived+nginx上都要执行 并做相应的修改

 

 

第三步:

 

1:启动tomcat,nginx,keepalived

 

2:查看主keepalived上  ifcofig 可以看到虚拟IP;备keepalived上 并没有虚拟IP

 

3:页面输入 192.168.159.200(VIP) 即可访问

 

4:把主keepalived(192.168.159.31)上 停止nginx 此时在查看ifconfig  发现没有虚拟IP了

 

在备keepaived上 可以看到有虚拟IP 

5:页面输入 192.168.159.200(VIP) 还是可以正常的访问

 

 

结束:

 

这样就完成了高可用,IP漂移

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Keepalived+Nginx+Tomcat 高可用集群搭建实战记录

    Keepalived+Nginx+Tomcat 高可用集群搭建实战记录 Keepalived 是一种高可用性解决方案,可以与 Nginx 和 Tomcat 配合使用来实现高可用集群。下面是 Keepalived+Nginx+Tomcat 高可用集群搭建的实战记录。 ...

    Nginx+keepalived+tomcat实现性负载均衡(包含需要的包)

    在构建高性能、高可用性的Web服务时,使用Nginx+keepalived+tomcat的组合可以实现强大的负载均衡和故障转移功能。这个方案的核心思想是利用Nginx作为前端反向代理服务器,通过keepalived来确保服务的高可用性,并将...

    第三十三章:Lvs+Keepalived+Nginx+Tomcat高可用集群1

    LVS+Keepalived+Nginx+Tomcat 高可用集群项目 本文主要讲述了如何构建一个高可用集群项目,使用 LVS、Keepalived、Nginx 和 Tomcat 实现高可用性和负载均衡。该项目的架构中,Keepalived 负责对 LVS 架构中的调度器...

    Nginx++Keepalived+Tomcat负载均衡&动静分离

    Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...

    keepalived+nginx+tomcat+redis+mysql所需的jdk包

    这个压缩包包含了"keepalived+nginx+tomcat+redis+mysql"所需的基础组件,特别是Java Development Kit(JDK)。下面我们将详细探讨这些组件及其在IT领域的应用。 首先,JDK是Java编程语言的基石,它提供了编译、...

    lvs+Keepalived+nginx高可用负载均衡搭建部署方案

    lvs+Keepalived+nginx高可用负载均衡搭建部署方案

    Keepalived + Nginx 实现高可用 Web 负载均衡配置文件

    Keepalived + Nginx 实现高可用 Web 负载均衡配置文件,具体详情参见博文:http://blog.csdn.net/l1028386804/article/details/72801492

    Keepalived+Nginx实现高可用Web负载均衡

    ### Keepalived+Nginx 实现高可用Web负载均衡 #### 场景需求 在现代互联网应用中,网站和应用程序需要处理大量的用户请求,并确保即使在服务器出现故障的情况下也能持续提供服务。为了满足这一需求,通常采用高可用...

    Nginx+KeepAlived+Tomcat负载架构

    本文将详细介绍如何通过`Nginx+KeepAlived+Tomcat`构建一个稳定、高效的负载均衡架构。 #### 二、关键技术介绍 ##### 1. Nginx - **简介**:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)...

    lvs+keepalived+nginx+tomcat+memcached实现服务负载均衡及session共享

    在构建高可用、高性能的Web服务系统中,服务负载均衡和session共享是两个关键环节。本文将详细探讨如何使用lvs(Linux Virtual Server)、keepalived、nginx、tomcat以及memcached来实现这一目标。 首先,lvs是...

    keepalived+nginx双机热备+负载均衡 非抢占模式

    "keepalived+nginx双机热备+负载均衡 非抢占模式"是一种高级的IT解决方案,用于构建高可用、高性能的Web服务环境。通过Keepalived的VRRP和非抢占模式,保证了服务的连续性;Nginx则提供了灵活的负载均衡策略;配合...

    keepalived+Nginx+tomcat 搭建集群

    在高并发场景中,仅靠单台 Nginx 可能不足以应对,这时可以结合 keepalived 实现高可用和负载均衡。Keepalived 提供 VRRP 协议来监控 Nginx 主备节点状态,当主节点故障时,流量会自动切换到备用节点,确保服务的...

    高可用之Keepalived+Nginx实现高可用Web负载均衡

    "高可用之Keepalived+Nginx实现高可用Web负载均衡" Keepsalived 和 Nginx 是实现高可用 Web 负载均衡...5. VIPIP 主机名、Nginx 端口、默认主从关系等高可用之 Keepalived+Nginx 实现高可用 Web 负载均衡的关键技术。

    keepalived + nginx 主从热备.zip

    【标题】"keepalived + nginx 主从热备"是一个重要的网络服务高可用性解决方案,主要应用于Web服务器集群,确保在主服务器发生故障时,流量能够无缝切换到备用服务器,保持服务的连续性和稳定性。 【描述】这个...

    4 lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.docx

    这里提到的“4 lvs+keepalived+nginx+tomcat”架构,就是一种常用的解决方案,用于处理高流量的Web服务。下面将详细解释每个组件的作用和配置方法。 1. LVS(Linux Virtual Server): LVS是Linux内核中的一个负载...

    LVS+KeepAlived+Nginx高可用实现方案.pdf

    "LVS+KeepAlived+Nginx高可用实现方案" LVS(Linux Virtual Server)是一种虚拟服务器集群系统,旨在提供高性能、高可用的服务器解决方案。其主要特点包括可伸缩性、可靠性和可管理性。LVS通过IP负载均衡技术实现...

    线上一键部署keepalived+nginx

    总结来说,"线上一键部署keepalived+nginx"是一种便捷的方法,用于搭建和管理具有高可用性和负载均衡功能的Web服务。通过Keepalived的故障切换机制和Nginx的负载均衡能力,可以显著增强系统的稳定性和性能。而使用...

    Keepalived+nginx+tomcat+redis_session_share

    本案例通过搭建一个基于`Keepalived`、`nginx`、`Tomcat`及`Redis`的服务集群来实现应用服务的高可用性和负载均衡,并通过`Redis`实现了`Tomcat`间的`Session`共享功能。 ### 一、环境简介 - **服务器配置**:两台...

    lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.rar

    这个文档"lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.docx"将详细解释每个组件的配置细节、集群的架构图以及可能出现的问题及解决方案,帮助你更好地理解和实施这个高性能的负载均衡集群。

    keepalived+nginx实现双机主备

    Keepalived+nginx 实现双机主备 Keepalived 是一个基于 VRRP 协议的高可用性解决方案,可以与 Nginx 服务器集成,以实现双机主备的高可用性架构。在本文中,我们将详细介绍使用 Keepalived 和 Nginx 实现双机主备的...

Global site tag (gtag.js) - Google Analytics