1.整体环境规划

虚拟IP:10.0.4.248
主Nginx:10.0.4.249
备用Nginx:10.0.4.250

2.keepalived安装

#cd /usr/local/src
#wget http://www.keepalived.org/software/keepalived-1.2.22.tar.gz
#./configure --prefix=/usr/local/keepalived
#make & make install

3.master服务keepalived.conf配置

! Configuration File for keepalived

global_defs {

 router_id edu-proxy-

}

vrrp_script chk_nginx {

 script "/etc/keepalived/nginx_check.sh"

 interval 

 weight -

}

vrrp_instance VI_1 {

 state MASTER

 interface eth0

 virtual_router_id 

 mcast_src_ip 10.0.4.249

 priority 

 nopreempt

 advert_int 

 authentication {

 auth_type PASS

 auth_pass 

 }

 track_script {

 chk_nginx 

}

 virtual_ipaddress {

 10.0.4.248

 }

}

4.backerup服务keepalived.conf配置

! Configuration File for keepalived

global_defs {

 router_id edu-proxy-

}

vrrp_script chk_nginx {

 script "/etc/keepalived/nginx_check.sh"

 interval 

 weight -

}

vrrp_instance VI_1 {

 state BACKUP

 interface eth0

 virtual_router_id 

 mcast_src_ip 10.0.4.250

 priority 

 advert_int 

 authentication {

 auth_type PASS

 auth_pass 

 }

 track_script {

 chk_nginx 

}

 virtual_ipaddress {

 10.0.4.248

 }

}

5.nginx_check.sh脚本编写

 

#!/bin/bash 

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

if [ $A -eq  ];then

 /usr/local/openrestry/nginx/sbin/nginx //Nginx安装路径

 sleep 

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

 killall keepalived

 fi

fi

6.启动keepalived

/usr/local/keepalived/sbin/keepalived

[root@localhost sbin]# ip addr

: lo: <LOOPBACK,UP,LOWER_UP> mtu  qdisc noqueue state UNKNOWN 

link/loopback ::::: brd :::::

 inet 127.0.0.1/ scope host lo

 inet6 ::/ scope host 

valid_lft forever preferred_lft forever

: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu  qdisc pfifo_fast state UP qlen 

 link/ether :0c::c6:9b: brd ff:ff:ff:ff:ff:ff

 inet 10.0.4.249/ brd 10.0.4.255 scope global eth0

 inet 10.0.4.248/ scope global eth0

 inet6 fe80::20c:29ff:fec6:9b91/ scope link 

valid_lft forever preferred_lft forever

 
备用

[root@localhost keepalived]# ip addr

: lo: <LOOPBACK,UP,LOWER_UP> mtu  qdisc noqueue state UNKNOWN 

link/loopback ::::: brd :::::

 inet 127.0.0.1/ scope host lo

 inet6 ::/ scope host 

valid_lft forever preferred_lft forever

: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu  qdisc pfifo_fast state UP qlen 

 link/ether :0c:::6c: brd ff:ff:ff:ff:ff:ff

 inet 10.0.4.250/ brd 10.0.4.255 scope global eth0

 inet 10.0.4.248/ scope global eth0

 inet6 fe80::20c:29ff:fe75:6c82/ scope link 

valid_lft forever preferred_lft forever

 

nginx+keepalived构建高可用服务的更多相关文章

  1. 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层

    1.概述 前两遍文章中,我们一直在说后文要介绍Nginx + Keepalived的搭建方式.这篇文章开始,我们就来兑现前文的承诺,后续的两篇文章我们将介绍Nginx + Keepalived和 LV ...

  2. 用HAProxy和KeepAlived构建高可用的反向代理

      用HAProxy和KeepAlived构建高可用的反向代理 用HAProxy和KeepAlived构建高可用的反向代理 前言对于访问量较大的网站来说,随着流量的增加单台服务器已经无法处理所有的请求 ...

  3. Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)

    一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...

  4. Nginx (三) 使用Keepalived搭建高可用服务

    Nginx可以实现高并发反向代理,实现负载均衡,但是有个问题就是Nginx是单点的.如果Nginx故障,则整个服务将会处于不可用状态.所以我们就需要想办法让nginx高可用,即使一个Nginx宕机,还 ...

  5. Nginx keepalived实现高可用负载均衡详细配置步骤

    Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing(负载均衡) ...

  6. 用HAProxy和KeepAlived构建高可用的反向代理系统

    对于访问量较大的网站来说,随着流量的增加单台服务器已经无法处理所有的请求,这时候需要多台服务器对大量的请求进行分流处理,即负载均衡.而如果实现负载均衡,必须在网站的入口部署服务器(不只是一台)对这些请 ...

  7. 实战| Nginx+keepalived 实现高可用集群

    一个执着于技术的公众号 前言 今天通过两个实战案例,带大家理解Nginx+keepalived 如何实现高可用集群,在学习新知识之前您可以选择性复习之前的知识点: 给小白的 Nginx 10分钟入门指 ...

  8. .net core下简单构建高可用服务集群

    一说到集群服务相信对普通开发者来说肯定想到很复杂的事情,如zeekeeper ,反向代理服务网关等一系列的搭建和配置等等:总得来说需要有一定经验和规划的团队才能应用起来.在这文章里你能看到在.net ...

  9. Nginx+Keepalived实现高可用站点

    Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat. corosync.pacemaker.但是它一般不会单独出现,而是与 ...

随机推荐

  1. http://www.cnblogs.com/zhengyun_ustc/p/55solution2.html

    http://www.cnblogs.com/zhengyun_ustc/p/55solution2.html http://wenku.baidu.com/link?url=P756ZrmasJTK ...

  2. 【Linux】apt-get install 怎么阻止弹出框,使用脚本默认自动安装?

    You can do a couple of things for avoiding this. Setting the DEBIAN_FRONTEND variable to noninteract ...

  3. strcpy,memcpy,memmove和内存重叠分析

    一:strcpy函数用法和实现: /* GNU-C中的实现(节选): */ char* strcpy(char *d, const char *s) { char *r=d; while((*d++= ...

  4. 这里先发布一个,自己写得unityUI的适配的方案(插播)

    这个适配是依据坐标系的象限的思想来进项适配的.參考了部分的NGUI的适配方案. 在程序的事实上,来測量UI距离相机边界的像素然后依据比例来进行适配,个人认为还不错. 放码! . 有个前提哦就是你要先定 ...

  5. 常用HTML标签的全称及描述

    常用HTML标签的英文全称及简单描述   HTML标签 英文全称 中文释义 a Anchor 锚 abbr Abbreviation 缩写词 acronym Acronym 取首字母的缩写词 addr ...

  6. jQuery EasyUI API 中文文档 - 表单(form补充)

    继承(表单验证) 第一个参数如果是true那么就算key相同也会接着追加,相反怎会覆盖 $.extend([bool],obj,obj1); var obj = {name:"zhangsa ...

  7. 算法笔记_081:蓝桥杯练习 算法提高 矩阵乘法(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最 ...

  8. 算法笔记_061:蓝桥杯练习 字串统计(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然 ...

  9. Visual studio之C# 重新定义Messbox的显示窗口位置

    背景 当前做的APP需要新建一个设置窗口,该设置窗口会出现在靠近屏幕边缘位置,但主窗口铺满屏幕,设置窗口会弹出一些讯息,但默认情况下Messagebox窗口会居中于主窗口,这不太符合要求,正常应该居中 ...

  10. iOS 购物车动画

    代码地址如下:http://www.demodashi.com/demo/11155.html 先看看动画效果: 项目结构: 接下来开始具体实现过程: 一.先计算动画开始结束位置 方法:- (CGPo ...