本文参考:http://blog.csdn.net/yinwenjie/article/details/47211551

简单粗暴写一下,做备忘,刚刚搭好没做优化呢,后期补充

一、机器准备

LVS-Master  192.168.100.2    主LVS
LVS-BACKUP 192.168.100.3    备LVS
WEB1    192.168.100.11    nginx1
WEB2    192.168.100.12    nginx2
WEB3    192.168.100.13    nginx3vip     192.168.100.1     虚拟IP

  

主机名统一更新,可以自定义名称,我这里统一命名,LVS-Master、LVS-BACKUP、WEB1、WEB2、WEB3

二、安装配置Keepalive

yum install -y zlib zlib-devel gcc gcc-c++ openssl openssl-devel openssh
yum install keepalive* -y //如果yum里面没有请编译安装一下
cp /etc/keepalived/keepalived.conf /etc/keepalived/bck_keepalived.conf  //先做个备份,防止操作错误

vi keepalived.conf

! Configuration File for keepalivedglobal_defs {#notification_email {#  acassen@firewall.loc#  failover@firewall.loc#  sysadmin@firewall.loc#}#notification_email_from Alexandre.Cassen@firewall.loc#smtp_server 192.168.200.1#smtp_connect_timeout 30router_id LVS_DEVEL
}vrrp_instance VI_1 {#141节点设置为MASTER,142或者还有其他的节点设置为BACKUP#还记得我们前面文章讲到的无抢占设置吗?这里也可以用哦。state BACKUP#网络适配器名称interface eth0virtual_router_id 51#所有的SLAVE节点的优先级都要比这个设置值低priority 120advert_int 1#真实ip,主LVS和备份LVS要改成相应的lvs节点真实ipmcast_src_ip=192.168.100.3authentication {auth_type PASSauth_pass 1111}#虚拟/浮动IPvirtual_ipaddress {192.168.100.1}
}virtual_server 192.168.100.1 80 {#健康时间检查,单位秒delay_loop 6#负载均衡调度算法wlc|rr,和您将使用的LVS的调度算法保持原则一致lb_algo rr#负载均衡转发规则 DR NAT TUN。和您将启动的LVS的工作模式设置一致lb_kind DR#虚拟地址的子网掩码nat_mask 255.255.255.0#会话保持时间,因为我们经常使用的是无状态的集群架构,所以这个设置可有可无#persistence_timeout 50#转发协议,当然是TCPprotocol TCP#真实的下层Nginx节点的健康监测real_server 192.168.100.11 80 {#节点权重,weight 10#设置检查方式,可以设置HTTP_GET | SSL_GETHTTP_GET {url {path /digest ff20ad2481f97b1754ef3e12ecd3a9cc}#超时时间,秒。如果在这个时间内没有返回,则说明一次监测失败connect_timeout 3#设置多少次监测失败,就认为这个真实节点死掉了nb_get_retry 3#重试间隔delay_before_retry 3}}real_server 192.168.100.12 80 {weight 10HTTP_GET {url {path /digest 640205b7b0fc66c1ea91c463fac6334d}connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.100.13 80 {weight 10HTTP_GET {url {path /digest 640205b7b0fc66c1ea91c463fac6334d}connect_timeout 3nb_get_retry 3delay_before_retry 3}
}}

/etc/init.d/keepalived restart  //启动服务     启动后可以在/var/log/messages 看看有没有启动报错 

三、LVS安装配置

先列出了lvs管理工具的一些参数,供下面命令参考。

-A –add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增加一台新的虚拟服务器。
-E –edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。
-D –delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。
-C –clear 清除内核虚拟服务器表中的所有记录。
-R –restore 恢复虚拟服务器规则
-S –save 保存虚拟服务器规则,输出为-R 选项可读的格式
-a –add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录。也就是在一个虚拟服务器中增加一台新的真实服务器
-e –edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录
-d –delete-server 删除一条虚拟服务器记录中的某条真实服务器记录
-L –list 显示内核虚拟服务器表
-Z –zero 虚拟服务表计数器清零(清空当前的连接数量等)
–set tcp tcpfin udp 设置连接超时值
–start-daemon 启动同步守护进程。他后面可以是master 或backup,用来说明LVS Router 是master 或是backup。在这个功能上也可以采用keepalived 的VRRP 功能。
–stop-daemon 停止同步守护进程
-t –tcp-service service-address 说明虚拟服务器提供的是tcp 的服务[vip:port] or [real-server-ip:port]
-u –udp-service service-address 说明虚拟服务器提供的是udp 的服务[vip:port] or [real-server-ip:port]
-f –fwmark-service fwmark 说明是经过iptables 标记过的服务类型。
-s –scheduler scheduler 使用的调度算法,选项:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq, 默认的调度算法是: wlc.
-p –persistent [timeout] 持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。
-M –netmask netmask persistent granularity mask
-r –real-server server-address 真实的服务器[Real-Server:port]
-g –gatewaying 指定LVS 的工作模式为直接路由模式DR模式(也是LVS默认的模式)
-i –ipip 指定LVS 的工作模式为隧道模式
-m –masquerading 指定LVS 的工作模式为NAT 模式
-w –weight weight 真实服务器的权值
–mcast-interface interface 指定组播的同步接口
–connection 显示LVS 目前的连接 如:ipvsadm -L -c
–timeout 显示tcp tcpfin udp 的timeout 值 如:ipvsadm -L –timeout
–daemon 显示同步守护进程状态
–stats 显示统计信息
–rate 显示速率信息
–sort 对虚拟服务器和真实服务器排序输出
–numeric -n 输出IP 地址和端口的数字形式

安装

yum -y install ipvsadm  //这个简单,现在linux内核里面已经大部分都内置了lvs的功能,只需要安装管理工具即可

配置 (重启后会消失,要写成脚本)  参数意思看上方列表

ipvsadm -C
ipvsadm -At 192.168.100.1:80 -s rr
ipvsadm -at 192.168.100.1:80 -r 192.168.100.11 -g
ipvsadm -at 192.168.100.1:80 -r 192.168.100.12 -g
ipvsadm -at 192.168.100.1:80 -r 192.168.100.13 -g
ipvsadm

四、NGINX配置

###yum安装nginx并打开Nginx所在服务器的“路由”功能、关闭“ARP查询”功能###

 yum install nginx* -yecho "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

设置回环IP

ifconfig lo:0 192.168.100.1 broadcast 192.168.100.1 netmask 255.255.255.255 up
route add -host 192.168.100.1 dev lo:0

配置完毕,给nginx做个测试,看看访问是否正常,为了测试效果写了个html用于辨别几台WEB

vi /var/www/html/index.html  (web1)

<html>
<head><title>web1</title></head>
<body>
my ip is 192.168.100.11
</body>
</html>

vi /var/www/html/index.html  (web2)

<html>
<head><title>web2</title></head>
<body>
my ip is 192.168.100.12
</body>
</html>

vi /var/www/html/index.html  (web3)

<html>
<head><title>web3</title></head>
<body>
my ip is 192.168.100.13
</body>
</html>

五、小结一下

1.keepalive,安装完毕了,配置文件也没问题,没有日志报错,能够正常工作。

2.lvs, ipvsadm命令能看到分别的三个web服务,如果没有说明上方配置lvs时没生效

IP Virtual Server version 1.2.1 (size=65536)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  localhost:http rr-> web2:http                    Route   1      0          0         -> web1:http                    Route   1      0          0         -> web3:http                    Route   1      0          0

3.nginx能够正常访问,并且vip已经能够通过ifconfig查看到

这样应该能够访问vip了,看看展示的界面是不是会分别按照lvs的算法分配给三台nginx服务

转载于:https://www.cnblogs.com/liuquan/p/5583816.html

LVS+Keepalive+Nginx实现负载均衡相关推荐

  1. keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...

    概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...

  2. keepalive+nginx实现负载均衡高可用_高可用、负载均衡 集群部署方案:Keepalived + Nginx + Tomcat...

    前言:初期应用较小,一般以单机部署为主,即可满足业务的需求,随着业务的不断扩大,单机部署的模式无法承载这么大的业务量,需要进行服务集群化的部署,本文主要介绍服务器Tomcat多实例部署,搭载Keepa ...

  3. 配置Nginx实现负载均衡

    在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中w ...

  4. Nginx四层负载均衡详解

    Nginx四层负载均衡 什么是四层负载均衡 四层负载均衡基于传输层协议包来封装的(如:TCP/IP),那我们前面使用的七层指的是应用层,它的组装在四层基础之上,无论是四层还是七层都是这是OSI网络模型 ...

  5. LVS详解及基于LVS实现web服务器负载均衡

    前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.通过LVS提供的 ...

  6. Nginx HTTP 负载均衡和反向代理

    1.负载均衡和反向代理介绍 负载均衡是多台服务器对称方式组成一个服务器的集合,每个服务器都能单独对外提供服务,通过负载均衡技术,将客户端请求均匀的分配到服务器集合中的某个服务器上,然后服务器独立响应客 ...

  7. Nginx+Tomcat 负载均衡集群方案

    2019独角兽企业重金招聘Python工程师标准>>> Nginx+Tomcat 负载均衡集群方案 该方案是我之前做过的一个项目生产应用的,目前运行良好,如何您生产使用,请先做好测试 ...

  8. 使用nginx+Apache负载均衡及动静分离

    使用nginx+Apache负载均衡及动静分离 介绍    LB负载均衡集群分两类: LVS (四层)和 nginx或haproxy (七层)    客户端都是通过访问分发器的VIP来访问网站 在七层 ...

  9. Nginx四层负载均衡模块添加

    Nginx四层负载均衡 Nginx在1.9之后,增加了一个stream模块,用来实现四层协议的转发.代理.负载均衡等.stream模块的用法跟http的用法类似,允许我们配置一组TCP或者UDP等协议 ...

最新文章

  1. Go学习之-用vscode写go代码遇到的问题
  2. SVD++:推荐系统的基于矩阵分解的协同过滤算法的提高
  3. linux 磁盘科隆,Linux中ln命令用法详解(硬链接)
  4. python开发系统架构设计师_系统架构设计师在线题库
  5. 比赛正式开始的openeim001
  6. MongoDB基本用法
  7. java闰年满五换行_CoreJava练习题
  8. javascript 取table中内容
  9. excel根据条件列转行_Excel vba-根据不同筛选条件筛选后,拆分成新的excel工作簿...
  10. 【老生谈算法】matlab实现遗传算法源码——遗传算法
  11. this与static
  12. mame4android汉化,MAME4droid
  13. Uvalive 5713 - Qin Shi Huang's National Road System(枚举+最小瓶颈路)
  14. 隐私泄露距离你我有多远?APP扩大个人隐私收集,增大隐私保护难度
  15. 40 个超棒的免费 Bootstrap HTML5 网站模板
  16. 深入理解WKWebView白屏
  17. mysql 重做日志 镜像_mysql重做日志 - osc_vr7hvjd2的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. SpringBoot学习小结之Redis
  19. python文件中的代码调用以及“__init__.py“ 文件说明
  20. 【距离高考还有多少天】

热门文章

  1. POJ1067 取石子游戏 跪跪跪,很好的博弈论
  2. CTime类,CTime 与 CString转换
  3. windows API 菜鸟学习之路(二)
  4. 文本文件与0、1文件
  5. @tap和@click的区别_计算属性---uview工作笔记001
  6. 大数据_Hbase-原理介绍 安装---Hbase工作笔记0004
  7. STM32工作笔记0048---Systick滴答定时器---延时函数讲解
  8. 杭电2112(SPFA)
  9. 杭电1879继续畅通工程
  10. python编程(orm原理和实践)