`

keepalived + nginx实现负载均衡

阅读更多

keepalived + nginx 实现负载均衡


keepalived 用途 

keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,
并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,
这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器



环境说明:centos6
192.168.1.102(keepalived ==> nginx)  master
192.168.1.132(keepalived ==> nginx)  slave
192.168.1.100 虚拟ip

102安装如下:
首先安装keepalived

下载地址:http://www.keepalived.org/download.html
Keepalived for Linux - Version 1.2.7 - August 29, 2012
下载到文件:keepalived-1.2.7.tar.gz

1.tar -xzvf keepalived-1.2.7.tar.gz

2.
cd keepalived-1.2.7
./configure --prefix=/home/soft/keepalived
错误1:
configure: error:
  !!! OpenSSL is not properly installed on your system. !!!
  !!! Can not include OpenSSL headers files.            !!!
 
解决:yum -y install openssl-devel

错误2:
configure: error: Popt libraries is required
解决:yum install popt-devel

如果编译成功:
Keepalived configuration
------------------------
Keepalived version       : 1.2.7
Compiler                 : gcc
Compiler flags           : -g -O2
Extra Lib                : -lpopt -lssl -lcrypto
Use IPVS Framework       : Yes
IPVS sync daemon support : Yes
IPVS use libnl           : No
Use VRRP Framework       : Yes
Use VRRP VMAC            : Yes
SNMP support             : No
Use Debug flags          : No

make
提示:
Make complete
make[1]: Leaving directory `/home/soft/source/keepalived-1.2.7/genhash'

make install


3. 配置keepalived

cp /home/soft/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /home/soft/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /home/soft/keepalived/sbin/keepalived /usr/sbin/
vi /etc/keepalived/keepalived.conf


global_defs {
   notification_email {
      king_819@163.com
   }
   notification_email_from king_819@163.com
   smtp_server smtp.163.com
  # smtp_connect_timeout 30
   router_id LVS_DEVEL
}

# VIP1
vrrp_instance VI_1 {
    state MASTER             #备份服务器上将MASTER改为BACKUP
    interface eth0
    lvs_sync_daemon_inteface eth0
    virtual_router_id 51
    priority 100    # 备份服务上将100改为90
    advert_int 5
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.102
        #(如果有多个VIP,继续换行填写.)
    }
}

virtual_server 192.168.1.102 80 {
    delay_loop 6                  #(每隔10秒查询realserver状态)
    lb_algo wlc                  #(lvs 算法)
    lb_kind DR                  #(Direct Route)
    persistence_timeout 60        #(同一IP的连接60秒内被分配到同一台realserver)
    protocol TCP                #(用TCP协议检查realserver状态)

    real_server 192.168.1.132 80 {
        weight 100               #(权重)
        TCP_CHECK {
        connect_timeout 10       #(10秒无响应超时)
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
    real_server 192.168.1.133 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
     }
}



4.service keepalived start|stop


5.启动keepalived!,查看虚拟IP是否绑定!
ip addr

6.nginx源码安装    看 nginx/nginx源码安装.txt

102配置完成



--------------------------------------
下面配置132


安装keepalived 如上:
vi /etc/keepalived/keepalived.conf  这里有变动,具体内容如下:

global_defs {
   notification_email {
      king_819@163.com
   }
   notification_email_from king_819@163.com
   smtp_server smtp.163.com
  # smtp_connect_timeout 30
   router_id LVS_DEVEL_2
}

# VIP1
vrrp_instance VI_1 {
    state BACKUP             #备份服务器上将MASTER改为BACKUP
    interface eth0
    lvs_sync_daemon_inteface eth0
    virtual_router_id 51
    priority 90    # 备份服务上将100改为90
    advert_int 5
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.100
        #(如果有多个VIP,继续换行填写.)
    }
}

virtual_server 192.168.1.100 80 {
    delay_loop 6                  #(每隔10秒查询realserver状态)
    lb_algo wlc                  #(lvs 算法)
    lb_kind DR                  #(Direct Route)
    persistence_timeout 60        #(同一IP的连接60秒内被分配到同一台realserver)
    protocol TCP                #(用TCP协议检查realserver状态)

    real_server 192.168.1.102 80 {
        weight 100               #(权重)
        TCP_CHECK {
        connect_timeout 10       #(10秒无响应超时)
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
    real_server 192.168.1.132 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
     }
}


同样安装nginx


--------------------------

测试:102上执行 service keepalived stop

检测132是否接替任务


















分享到:
评论

相关推荐

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

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

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

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

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

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

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

    Keepalived 是一种基于 Linux 的高可用性解决方案,可以提供可靠的负载均衡和故障转移功能。Keepalived 的主要功能包括: * Virtual IP 地址管理 * 服务器健康检查 * 负载均衡 * 故障转移 Nginx 简介 Nginx 是一...

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

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

    keepalived+nginx实现双机主备

    * 负载均衡:使用 Nginx 可以实现负载均衡,提高系统的性能和可扩展性。 * 灵活性:使用 Keepalived 和 Nginx 可以轻松地实现主备切换,灵活地应对不同场景。 因此,本文的架构和配置可以应用于各种高可用性和负载...

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

    "高可用之Keepalived+Nginx实现高可用Web负载均衡" Keepsalived 和 Nginx 是实现高可用 Web 负载均衡的关键技术。Keepalived 是一种高性能的服务器高可用或热备解决方案,可以防止服务器单点故障的发生,而 Nginx ...

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

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

    线上一键部署keepalived+nginx

    这样的脚本通常会包含以下步骤:安装Keepalived和Nginx,配置Keepalived的VRRP参数以实现主备切换,配置Nginx的反向代理和负载均衡规则,以及进行必要的安全设置和测试。 在提供的压缩包文件"keepalived_nginx"中,...

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

    在构建高性能、高可用性的Web服务环境中,Java开发和运行环境、数据库系统、负载均衡以及缓存服务都是不可或缺的关键组件。这个压缩包包含了"keepalived+nginx+tomcat+redis+mysql"所需的基础组件,特别是Java ...

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

    在这个方案中,LVS作为负载均衡器,KeepAlived作为健康检查器,Nginx作为Web服务器。 五、结论 本文提供了一个完整的高可用实现方案,通过LVS、KeepAlived和Nginx的结合,可以实现一个高性能、高可用的Web服务器...

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

    Keepalived+Nginx 实现高可用 Web 负载均衡 Keepalived 是一种高性能的服务器高可用或热备解决方案,可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VRRP 协议...

    Keepalived+nginx负载均衡高可用

    使用Keepalived+nginx负载均衡高可用,解决单台Nginx故障,无法提供服务。

    CentOS系统安装配置Nginx+keepalived实现负载均衡

    CentOS系统安装配置Nginx+keepalived实现负载均衡 本文将详细介绍CentOS系统安装配置Nginx+keepalived实现负载均衡的步骤和配置过程。通过本文,读者将了解如何使用Nginx和keepalived来实现高可靠性的负载均衡架构...

    keepalived+Nginx+tomcat 搭建集群

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

    分布式架构高可用架构-Keepalived+Nginx实现高可用Web负载均衡.pdf

    ### 分布式架构高可用架构-Keepalived+Nginx实现高可用Web负载均衡 #### 一、场景需求 在互联网应用中,随着用户数量的增长和技术的发展,单一服务器已难以满足日益增长的服务需求。分布式系统架构应运而生于解决...

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

    在这个场景中,keepalived和nginx结合使用,可以实现Web服务的双机热备和负载均衡。 **虚拟IP切换** 在Keepalived的配置中,通常会设置一个虚拟IP地址(VIP),这个地址对外公开,用户访问的是这个IP,而不是具体...

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

    本文主要讲述了如何构建一个高可用集群项目,使用 LVS、Keepalived、Nginx 和 Tomcat 实现高可用性和负载均衡。该项目的架构中,Keepalived 负责对 LVS 架构中的调度器进行热备份,至少包含两台热备的负载调度器,两...

    Keepalived+Nginx实现Web负载均衡

    ### Keepalived+Nginx 实现 Web 负载均衡 #### 一、场景需求与背景 在现代互联网架构中,随着用户量级的增长及业务复杂度的提升,单一服务器往往难以满足高并发访问的需求,同时也面临着单点故障的风险。为了解决...

Global site tag (gtag.js) - Google Analytics