加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Keepalived+Lvs+Nginx搭建Nginx高可用集群

发布时间:2019-10-12 17:22:47 所属栏目:外闻 来源:今日头条
导读:nginx是一款非常优秀的反向代理工具,支持请求分发,负载均衡,以及缓存等等非常实用的功能。在请求处理上,nginx采用的是epoll模型,这是一种基于事件监听的模型,因而其具备非常高效的请求处理效率,单机并发能力能够达到上百万。nginx接收到的请求可以

在启动nginx之后,我们需要配置虚拟ip,这是因为我们使用的lvs调度器是DR模式,前面我们讲到过,这种模式下,对客户端的响应是真实服务器直接返回给客户端的,而真实服务器需要将响应报文中的源ip修改为虚拟ip,这里配置的虚拟ip就是起这个作用的。我们编辑/etc/init.d/lvsrs 文件,写入如下内容:

  1. #!/bin/bash 
  2. ifconfig lo:0 172.16.28.120 netmask 255.255.255.255 broadcast 172.16.28.120 up 
  3. route add -host 172.16.28.120 dev lo:0 
  4. echo "0" > /proc/sys/net/ipv4/ip_forward 
  5. echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore 
  6. echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce 
  7. echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore 
  8. echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce 
  9. exit 0 
  • lo:表示当前主机真实网卡的名称;
  • 172.16.28.120:表示虚拟ip;

编写完成后运行该脚本文件即可。然后将两台lvs+keepalived机器上的keepalived服务启动起来即可:

  1. sudo service keepalived start 

最后可以通过如下命令查看配置的lvs+keepalived的策略:

  1. [zhangxufeng@localhost keepalived]$ sudo ipvsadm -ln 
  2. IP Virtual Server version 1.2.1 (size=4096) 
  3. Prot LocalAddress:Port Scheduler Flags 
  4.  -> RemoteAddress:Port Forward Weight ActiveConn InActConn 
  5. TCP 172.16.28.120:80 rr 
  6.  -> 172.16.28.132:80 Route 1 0 0 

2.2 集群测试

根据上述步骤,我们配置完成了一个lvs+keepalived+nginx的集群。在浏览器中,我们可以访问http://172.16.28.120 即可看到如下响应:

  1. Hello, Nginx! Server zhangxufeng@172.16.28.132 

多次刷新浏览器之后,可以看到浏览器中显示的文本切换如下,这是因为lvs的负载均衡策略产生的:

  1. Hello, Nginx! Server zhangxufeng@172.16.28.133 

3. 小结

本文首先对lvs和keepalived的工作原理进行了讲解,分别介绍了其工作的几种模式,然后对lvs+keepalived+nginx搭建nginx集群的方式进行详细讲解,并且说明了其中所需要注意的问题。

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读