小白搭建nginx 高可用集群(超详细的LVSkeepalivednginx实现高性能高可用负载均衡集群教程)
小白搭建nginx 高可用集群(超详细的LVSkeepalivednginx实现高性能高可用负载均衡集群教程)#wget http://nginx.org/download/nginx-xx.xx.tar.gz #tar –zxvf nginx1.9.4.tar.gz #./configure –prefix=/usr/local/nginx #make && make install 配置real server服务器,两台nginx的服务器都一样,禁止arp相应的请求安装nginx 下载需要的nginx的源码包#chmod u x /etc/rc.d/init.d/realserver.sh 执行脚本:#/etc/rc.d/init.d/realserver.sh start 2、查看网卡可以看到多了个VIP。
概述前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用。
在realserver端配置VIP
1、两台nginx服务器都要执行下面脚本:
#vi /etc/rc.d/init.d/realserver.sh
#!/bin/bash # description: Config realserver lo and apply noarp SNS_VIP=xx.xx.xx.E /etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP /sbin/route add -host $SNS_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 $SNS_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 Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
授权:
#chmod u x /etc/rc.d/init.d/realserver.sh
执行脚本:
#/etc/rc.d/init.d/realserver.sh start
2、查看网卡
可以看到多了个VIP。
在relay_server端安装配置nginx
安装nginx 下载需要的nginx的源码包
#wget http://nginx.org/download/nginx-xx.xx.tar.gz #tar –zxvf nginx1.9.4.tar.gz #./configure –prefix=/usr/local/nginx #make && make install
配置real server服务器,两台nginx的服务器都一样,禁止arp相应的请求
抑制ARP请求 #echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
测试LVS keepalived nginx
分别启动服务
1、主备LVS :
service ipvsadm start service keepalived start
2、Real server:
service nginx start
3、查看lvs-master日志:
# tail -f /var/log/messages
4、LVS 查看ipvsadm状态
#ipvsadm -L -n
5、测试结果
1、只停止xx.xx.xx.A的keepalived服务,不影响业务;
2、只停止xx.xx.xx.B的keepalived服务,不影响业务;
3、只停止xx.xx.xx.C的nginx服务,不影响业务;
4、只停止xx.xx.xx.D的nginx服务,不影响业务;
5、停止xx.xx.xx.A、xx.xx.xx.B的keepalived服务,业务无法访问。
到这里我们就用LVS keepalived nginx实现高性能高可用负载均衡集群,大家有需求的话可以测试一下(只需要4台虚拟机就可以了...),像我们生产环境是用LVS keepalived nginx来做负载,应用是weblogic做集群,数据库用RAC,memcache通过应用配置文件来实现集群,这其中主要体现的是高可用思想。
后面会分享更多关于devops和DBA方面内容,感兴趣的朋友可以关注下!