JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

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

wys521 2024-09-18 02:41:34 精选教程 25 ℃ 0 评论

概述

前面已经介绍了前两部分内容,下面主要介绍在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方面内容,感兴趣的朋友可以关注下!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表