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

 

最新文章

  1. 读书笔记-js
  2. Inversion of Control Containers and the Dependency Injection pattern(转)
  3. ASP.NET MVC 中如何用自定义 Handler 来处理来自 AJAX 请求的 HttpRequestValidationException 错误
  4. 知问前端——概述及jQuery UI
  5. [转]解决crystal report水晶报表在浏览器提示bobj未定义的错误
  6. laravel路由使用【总结】
  7. C#入门经典(3-窗体应用程序-第二章要点)
  8. 使用Java操作文本文件的方法详解
  9. Angular2之管道学习笔记
  10. 刚实习的自己-php
  11. Java并发系列[7]----CountDownLatch源码分析
  12. SpringIOC学习一
  13. linux_批量关闭进程
  14. asp.net mvc + dapper(ORM框架) + easyui框架简洁的信息管理项目
  15. java网络编程Socket通信详解
  16. 线程同步,条件变量pthread_cond_wait
  17. java.lang.NullPointerException - 如何处理空指针异常
  18. 【算法34】蓄水池抽样算法 (Reservoir Sampling Algorithm)
  19. Json转Scala对象一个问题
  20. java 内部类的继承

热门文章

  1. Hibernate异常:Unable to locate appropriate constructor on class
  2. javat Itext实践 pdf
  3. 解决html视频播放只有声音没有图像的办法
  4. shell遍历文件夹并执行命令
  5. android apktool 基本的安装与使用
  6. Microsoft.VisualStudio.Shell.14.0.dll 文件位置
  7. c语言指针详解 经典
  8. 关于mysql存储过程创建动态表名及參数处理
  9. 算法笔记_061:蓝桥杯练习 字串统计(Java)
  10. 解决64位操作系统下运行psql的问题