环境:
 
VIP         192.168.2.224
LVS        192.168.2.217     centos7
nginx1    192.168.2.231     centos6
nginx2    192.168.2.194     centos6
 
LVS原理:
国内的看得懂,哈哈  http://www.linuxvirtualserver.org/zh/lvs1.html
 
一、LVS节点需做的
 
1、安装ipvsadm,keepalived
yum -y install keepalived ipvsadm
yum install net-tools
 
2、修改配置keepalived的配置文件
global_defs {
router_id LVS_DEVEL
} vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.2.224
}
} virtual_server 192.168.2.231 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
protocol TCP real_server 192.168.2.194 80 {
weight 1
SSL_GET {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
} real_server 192.168.2.231 80 {
weight 1
SSL_GET {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
 
3、启动keepalived

systemctl start keepalived
 
4、执行下面这个脚本
#!/bin/bash
VIP=192.168.2.224
RIP1=192.168.2.231
RIP2=192.168.2.194
case "$1" in
start)
ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ifconfig eno16777736:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up
route add -host $VIP dev eno16777736:0
ipvsadm -A -t $VIP:80 -s rr
ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
echo "ipvsadm starting --------------------[ok]"
;;
stop)
ipvsadm -C
systemctl stop ipvsadm
ifconfig eno16777736:0 down
route del $VIP
echo "ipvsamd stoped----------------------[ok]"
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then
echo "ipvsadm stoped---------------"
exit 1
else
echo "ipvsamd Runing ---------[ok]"
fi
;;
*) echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
 
二、web节点需做的
 
1、先在两台nginx上把nginx装好,通过本机IP访问能区别两台机器,方便后面的测试,我这的nginx直接用的yum安装
 
 
 
 
2、分别在两台机器上执行如下脚本
 
 
#!/bin/bash
VIP=192.168.2.224 case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev lo:0
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 $VIP /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 Stopd"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac exit 0
 
三、测试
 
这里的测试要在非lvs,nginx机器上测试,也就是与这些无关的机器上测试
 
 
原文地址:https://www.cnblogs.com/lemon-le/p/9264581.html

快速搭建lvs + keepalived + nginx的更多相关文章

  1. LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  2. 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  3. lvs+keepalived+nginx实现高性能负载均衡集群【转】

    转自 lvs+keepalived+nginx实现高性能负载均衡集群 - 青衫lys - 博客园http://www.cnblogs.com/liuyisai/p/5990645.html 一.为什么 ...

  4. Centos6.8 搭建Lvs+Keepalived

    Keepalived keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层.第4层和第7层交换.Keepalived是自动完成,不需人工干涉. 简 ...

  5. 【Nginx】(主从热备)LVS+Keepalived+Nginx实现高性能负载均衡集群

    一.LVS 1.1 概述 1.2 Nginx与LVS区别什么 二.Keepalived 2.1 概述 2.2 keepalived和其工作原理 三.LVS+Keepalived+Nginx 搭建双机主 ...

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

    文章目录概念LVSKeepAlived为什么要使用准备软件安装KeepAlived 安装源码安装yum安装服务启动.重启.关闭安装ipvsadmnginx安装防火墙(iptables)防火墙配置(方式 ...

  7. LVS+Nginx(LVS + Keepalived + Nginx安装及配置)

    (也可以每个nginx都挂在上所有的应用服务器)  nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...

  8. Oracle Compute云快速搭建MySQL Keepalived高可用架构

    最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户 ...

  9. 基于VMware的虚拟Linux集群搭建-lvs+keepalived

    基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...

随机推荐

  1. SerializeUtil

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInpu ...

  2. 阿里巴巴Java开发手册_不建议在循环体中使用+进行字符串拼接

    18. [推荐]循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展. 说明:下例中,反编译出的字节码文件显示每次循环都会new出一个StringBuilder对象,然 ...

  3. 036 Valid Sudoku 有效的数独

    详见:https://leetcode.com/problems/valid-sudoku/description/ class Solution { public: bool isValidSudo ...

  4. linux下各种格式软件的安装(引用http://blog.csdn.net/zyz511919766/article/details/7574040)

    首先介绍两个简单的方式 第一:sudo apt-get install packagename 命令 如果我们知道我们要安装的软件的确切的名称,那么我们可以简单的通过此条命令来获取和安装软件.apt- ...

  5. (转)运维老鸟教你安装centos6.5如何选择安装包

    运维老鸟教你安装centos6.5如何选择安装包 原文:http://blog.51cto.com/oldboy/1564620 近来发现越来越多的运维小伙伴们都有最小化安装系统的洁癖,因此,找老男孩 ...

  6. Linux中vim编辑器的缩进的功能键

    vim编程时,经常需要对代码进行缩进处理,以增加程序的可读性和后期的代码维护. 可以采用多种方式达到缩进的目的: 1) 命令模式(command mode) 2) Visual模式(visual mo ...

  7. Ionic 解决gradle下载慢的问题

    问题 使用Ioinc添加安卓平台或者编译的时候,提示gradle-XXX-all.zip下载,此进度缓慢. 解决 下载gradle对应的zip文件. 参考资源:http://services.grad ...

  8. ios微信浏览器音乐自动播放

    setTimeout(function(){ //一般情况下,这样就可以自动播放了,但是一些奇葩iPhone机不可以 document.getElementById('bgmedia').play() ...

  9. Android中渐变图片失真的解决方案

    在android开发(尤其是android游戏开发)中有一个很严重的问题就是带有渐变效果的png图片会出现严重的banding(色带),鉴于这种情况,有几种可行的解决方法:   1.如果Activit ...

  10. 删除elasticsearch大于7天前的索引

    curl -u 用户名:密码 -H'Content-Type:application/json' -d'{ "query": { "range": { &quo ...