环境说明:

IP地址 部署应用
192.168.10.100 VIP0
192.168.10.101 VIP1
192.168.10.17 keepalived+lvs
192.168.10.16 keepalived+lvs
192.168.10.15 nginx
192.168.10.14 nginx

keepalived+lvs机器上配置

#1.安装keepalived

yum install keepalived –y

#2.配置keepalived

global_defs {
router_id LVS
}
vrrp_instance LVS_1 {
state MASTER #备改为 BACKUP
interface ens33
virtual_router_id 100
priority 100 #备改为 90
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.10.100
192.168.10.101
}
} virtual_server 192.168.10.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 120
protocol TCP
real_server 192.168.10.15 80 {
TCP_CHECK {
weight 1
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.10.10 80 {
TCP_CHECK {
weight 1
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
} virtual_server 192.168.10.101 81 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 0
protocol TCP
real_server 192.168.10.15 81 {
TCP_CHECK {
weight 1
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 81
}
}
real_server 192.168.10.10 81 {
TCP_CHECK {
weight 1
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 81
}
}
} #3.检查是否支持安装lvs
find /lib/modules/$(uname -r)/ -iname "**.ko*" | cut -d/ -f5- yum install ipvsadm –y #yum安装lvs #4.开启转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -p # 重新载入sysctl变量

nginx机器配置

#1.yum安装nginx或者编译安装

yum install nginx -y

service nginx start	#启动nginx

#2.修改nginx.conf,配置81的端口
vim /etc/nginx/nginx.conf echo '192.168.10.15:80' > /usr/share/nginx/html/index.html #设置web的标志内容 #3.lvs脚本 #!/bin/bash
# Script to start LVS DR real server.
# chkconfig: - 90 10
# description: LVS DR real server VIP0=192.168.10.100
VIP1=192.168.10.101 . /etc/rc.d/init.d/functions case "$1" in
start)
ifconfig lo:0 $VIP0 broadcast $VIP0 netmask 255.255.255.255 up
route add -host $VIP0 dev lo:0 ifconfig lo:1 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
route add -host $VIP1 dev lo:1 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $VIP0 > /dev/null 2>&1
ifconfig lo:1 down
route del $VIP1 > /dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "$0: Usage:$0 {start|stop}"
exit 1
;;
esac #4.添加开机自启动
hmod +x /etc/init.d/lvs-rs
chkconfig --add lvs-rs
chkconfig lvs-rs on
/etc/init.d/lvs-rs start

验证

访问VIP的网址,看是否每次访问的站点内容都是不同的。windows中的浏览器有缓存功能,如果站点内容有时候是相同的,那么不一定是自己配错了,可能是缓存的原因,避免的办法就是使用Linux的curl命令去访问站点的内容

ipvsadm -ln		#查看连接数

keepalived+lvs+nginx高可用的更多相关文章

  1. keepalived对nginx高可用演练脚本

    keepalived对nginx高可用演练脚本 参考文章:http://deidara.blog.51cto.com/400447/302402/ .安装nginx.keepalived.epel-r ...

  2. Keepalived保证Nginx高可用配置

    Keepalived保证Nginx高可用配置部署环境 keepalived-1.2.18 nginx-1.6.2 VM虚拟机redhat6.5-x64:192.168.1.201.192.168.1. ...

  3. linux中keepalived实现nginx高可用配置

    linux中keepalived实现nginx高可用配置 安装keepalived 运行如下命令即可 tar -zxvf keepalived-2.0.8.tar.gz -C /usr/src cd ...

  4. 配置keepalived支持nginx高可用

    实验环境 序号 主机名 IP地址 1 nginx1 192.168.204.11 2 nginx2 192.168.204.12 安装nginx 安装nginx yum install -y epel ...

  5. 项目实战3—实现基于Keepalived+LVS的高可用集群网站架构

    实现基于Keepalived高可用集群网站架构 环境:随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,目前业务已经通过集群LVS架构可做到随时拓展,后端 ...

  6. Keepalived+lvs 搭建高可用负载均衡

    本站点停止更新,请访问:blog.coocap.com 不了解负载均衡高可用的童鞋,强烈建议先看keepalived+nginx高可用负载均衡: 传送门(求粉):http://www.cnblogs. ...

  7. Keepalived+LVS(dr)高可用负载均衡集群的实现

    一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...

  8. keepalived实现nginx高可用

    keepalived是什么 keepalived直译就是保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发 ...

  9. Linux keepalived+lvs实现高可用负载均衡

    LVS的具有强大的负载均衡功能,但是它缺少对负载层节点(DS)的健康状态检测功能,也不能对后端服务(RS)进行健康状态检测:keepalived是专门用来监控高可用集群架构的中各服务的节点状态,如果某 ...

随机推荐

  1. python-pillow图像处理模块

    from PIL import ImageColor ImageColor.getcolor('red','RGB') #颜色 模式 ImageColor.getcolor('red','RGBA') ...

  2. (转)从0移植uboot(六) _实现网络功能

    ref:https://www.cnblogs.com/xiaojiang1025/p/6500532.html 为uboot添加网卡功能可以让uboot通过tftp下载内核, 方便我们的开发, 对于 ...

  3. php底层变量存储

    变量存储 php的变量使用一个结构体 zval来保存的,在Zend/zend.h中我们可以看到zval的定义 struct _zval_struct { /* Variable information ...

  4. Oracle VIP说明

    本篇文档,描述说明VIP的作用 1.VIP全称 virtual ip 虚拟IP 2.Oracle为啥要搞个VIP 3.两节点RAC,集群单个节点故障关闭后,VIP漂移否继续对外提供服务 一.模拟RAC ...

  5. JSON和XML格式与对象的序列化及反序列化的辅助类

    下面的代码主要是把对象序列化为JSON格式或XML格式等 using System; using System.Collections.Generic; using System.Globalizat ...

  6. IQueryable vs. IEnumerable

    IQueryable<T> extends the IEnumerable<T> interface IEnumerable<T> is great for wor ...

  7. C#四种深拷贝方法(转载)

    原文地址:https://www.cnblogs.com/profession/p/6222489.html //四种深拷贝方法 public static T DeepCopyByReflect&l ...

  8. 【原创】大叔经验分享(86)hive和mysql数据互导

    hive和mysql数据互导,首先想到的是sqoop,并且可以和调度框架(比如oozie等)配合配置定时任务,还有一种更简单的方式是通过spark-sql: CREATE OR REPLACE TEM ...

  9. 关于Vue中,checkBox等组件在赋值后,点击切换页面未及时更新问题

    我们经常碰到这样的问题,在v-for循环中,给某些组件(此处以checkBox为例)赋值后,组件并不能正常切换, 这是因为数据层太多,render函数没有自动更新,需手动强制刷新. 解决方法:在切换c ...

  10. ztree在onCheck()方法中防止因触发联动关系导致页面多次渲染而卡死的问题

    这几天在项目中遇到了要使用树形选择框, 而且要求比较复杂,具体叙述如下: 首先是有个选择框,左边选择是适用的商品,右边显示已经选择的商品.也就是说,左边每次勾选操作,都要触发一个事件去刷新右边的页面, ...