注:  LVS + Keepalived  不知道为什么出现一个很郁闷的问题.......

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

原来的拓扑是:

LVS 主 + WEB1

LVS 从 + WEB2

IP 是3个外网IP    WEB1 123.123.123.121   WEB2 123.123.123.122

VIP  123.123.123.123

直接访问 WEB1 123.123.123.121  正常

直接访问 WEB2 123.123.123.122  正常

访问VIP 不行    VIP 可以ping通····

关闭 WEB1 服务      VIP 可以了.... 郁闷....是否VIP 80 与 WEB1 80端口冲突?

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

转入正题.......

拓扑

WEB1 + Keepalived 主     IP 123.123.123.121

WEB2 + Keepalived 从     IP 123.123.123.122

VIP 123.123.123.123

两台机都安装 Keepalived

下载 wget http://www.keepalived.org/software/keepalived-1.2.1.tar.gz

tar zxvf keepalived-1.2.1.tar.gz
 
cd keepalived-1.2.1
 
./configure
 
make 
 
make install
 
将keepalived做成启动脚务:
 
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/  
 
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/  
 
mkdir /etc/keepalived  
 
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/  
 
cp /usr/local/sbin/keepalived /usr/sbin/  
 
【service keepalived start 可启动,这里暂时不启动,等修改完配置文件以后再启动】
 
 
Keealived的配置文件修改..
 
vi /etc/keepalived/keepalived.conf
 
【主 的Keepalived 的配置文件设置】
--------------------------------------------------------------------------------
vrrp_script chk_http_port { 
                script "/opt/local/nginx/nginx_pid.sh"       监控脚本
                interval 2                             监控时间
                weight 2                                 
vrrp_instance VI_1 { 
        state MASTER                            主 
        interface eth0                      监控网卡    
        virtual_router_id 51             这个两台服务器必须一样 
        priority 101                      权重值 高于 从
        authentication { 
                     auth_type PASS               加密 
                     auth_pass 1111               与从想同 
        } 
        track_script { 
                chk_http_port                      执行监控的服务 
        } 
        virtual_ipaddress { 
             123.123.123.123                          VIP 
        } 

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

【从 的Keepalived 的配置文件设置】

--------------------------------------------------------------------------------
vrrp_script chk_http_port { 
                script "/opt/local/nginx/nginx_pid.sh"       监控脚本
                interval 2                             监控时间
                weight 2                                 
vrrp_instance VI_1 { 
        state BACKUP                            从
        interface eth0                      监控网卡    
        virtual_router_id 51             这个两台服务器必须一样 
        priority 100                      权重值 低于 主
        authentication { 
                     auth_type PASS               加密 
                     auth_pass 1111               与从想同 
        } 
        track_script { 
                chk_http_port                      执行监控的服务 
        } 
        virtual_ipaddress { 
             123.123.123.123                          VIP 
        } 

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

【编写Nginx 的监控脚本】

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

#!/bin/bash

A=`ps -C nginx --no-header |wc -l`

if [ $A -eq 0 ];then

/opt/local/nginx/sbin/nginx

sleep 3

if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then

killall keepalived

fi

fi

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

WEB1  WEB2  分别启动...Nginx  与 Keepalived 测试一下...

# ip add list      查看 eth0  是否绑定 vip

关闭 主 Keepalived    查看是否 从 会 接管 VIP

nginx keepalived 主从切换的更多相关文章

  1. nginx + keepalived 主从模式

    转自:https://www.cnblogs.com/kevingrace/p/6138185.html 负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可 ...

  2. nginx+keepalived主从高可用配置

    上面有4台web服务器  我们实验条件限制,就开两台web服务器1.117  1.119 一.环境准备: 系统环境:CentOS 6.5 x86_64 Nginx版本:nginx v1.6.2 Kee ...

  3. Nginx+Keepalived主从配置(双机主从热备)+Tomcat集群

    拓扑环境 以下表格是这次測试须要的拓扑环境,几台server.每台server上安装什么,都有介绍. server名称 系统版本号 预装软件 IP地址/VIP Nginx主server CentOS ...

  4. Nginx+Keepalived主从双机热备+自动切换

    1 安装配置nginx 参考: http://www.cnblogs.com/jager/p/4388202.html 2 安装配置keepalived tar xvf keepalived-1.2. ...

  5. mysql+keepalived主从切换脚本 转

    Keepalived MySQL故障自动切换脚本   MySQL架构为master-slave(主从),master故障自动切换到slave上.当然也可以设置为双master,但这里有个弊端:就是当主 ...

  6. Nginx+keepalived 脚本安装主从双机热备自动切换解决方案

    Nginx+keepalived 脚本安装主从双机热备自动切换解决方案 2013-07-02 19:24:13 标签:filesnginx keepalived 原创作品,允许转载,转载时请务必以超链 ...

  7. nginx+keepalived高可用 (主从+双主)

    1.Nginx+keepalived 主从配置这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候,永远处于浪费状态,对于 ...

  8. Nginx知多少系列之(十四)Linux下.NET Core项目Nginx+Keepalived高可用(主从模式)

    目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略 8.加权轮询(round rob ...

  9. nginx+keepalived实现nginx双主高可用的负载均衡

    http://kling.blog.51cto.com/3320545/1253474 一.前言: 在互联网上面,网站为用户提供原始的内容访问,同时为用户提供交互操作.提供稳定可靠的服务,可以给用户带 ...

随机推荐

  1. [转]Linux挂载点介绍及桌面服务器分区方案

    原链接:http://www.metsky.com/archives/255.html 本文介绍Linux常用分区挂载点常识以及桌面.服务器分区挂载点的推荐配置,当然这个配置是天缘自己写的,分区大小这 ...

  2. 隐式intent启动电子邮件,不需要非电子邮件应用程序。

    Intent intent = new Intent(Intent.ACTION_SENDTO); intent.setType("text/plain"); intent.put ...

  3. HDU 4460 Friend Chains(map + spfa)

    Friend Chains Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total ...

  4. POJ 1365 Prime Land(整数拆分)

    题意:感觉题意不太好懂,题目并不难,就是给一些p和e,p是素数,e是指数,然后把这个数求出来,设为x,然后让我们逆过程输出x-1的素数拆分形式,形式与输入保持一致. 思路:素数打表以后正常拆分即可. ...

  5. android 定时器总结

    1:handler实现定时器的功能 Handler handler=new Handler(); //立即执行Runnable对象   public final boolean post(Runnab ...

  6. 逆序一个8bit的2进制数

  7. CentOS 系统中安装postfix+dovecot+openwebmail <转>

    一.先卸载sendmain[root@ser ~]#  yum remove sendmail 二.安装postfix ,dovecot,cyrus-sasl[root@ser ~]#  yum -y ...

  8. java字符编码,字符转码

    编码:String->byte[]; str.getBytes(charsetName) 解码:byte[]->String; new String(byte[],charsetName) ...

  9. 穿越泥地(mud)

    穿越泥地(mud) 题目描述 清早6:00,FJ就离开了他的屋子,开始了他的例行工作:为贝茜挤奶.前一天晚上,整个农场刚经受过一场瓢泼大雨的洗礼,于是不难想象,FJ现在面对的 是一大片泥泞的土地.FJ ...

  10. typescript中的工具 tsd

    首先帮微软买个广告:VSCode 实在是太适合我了,感觉写起来无比舒畅,建议有兴趣的可以去试试用vsCode写前端. 最近开始使用ts去构建项目,感觉写起来非常的爽(本人以前接触过c#和java),终 ...