设为首页 加入收藏

TOP

LVS+keepalived+nginx+tomcat 主从热备 负载均衡 (一)
2023-07-23 13:34:03 】 浏览:41
Tags:LVS keepalived nginx tomcat 从热备

一、 环境准备

本次配置基于DR负载均衡模式,设置一个VIP(Virtual IP)为19.50.67.173,用户只需要访问这个IP地址即可获得后端服务

其中,负载均衡主机为19.50.67.165(LVS1),备机为 19.50.67.169(LVS2)。Web服务器A为19.50.67.171(WEB1),Web服务器B为19.50.67.172(WEB2)。四台CentOS的防火墙都需要关闭。

由于LVS基于4层转发,所以LVS到NGINX的过程中,其实并没有什么性能损失,实现了两组NGINX同时在线,提供了更好的性能。

目前此架构已经在公司商用运行,未出现过故障,转发非常稳定。

由于网上此类教程较多,故不进行太详细描述过程。

 

二、 WEB服务器配置

服务器配置不多做介绍,用APACHE或者NGINX即可;如果用NGINX,后端则还可以做反向代理,提供更好的自定义转发。

yum install httpd

systemctl start httpd

systemctl enable httpd

 

然后修改配置文件即可。

2.2 配置realserver脚本

  1. 进入指定文件夹:cd /etc/init.d/
  2. 编辑脚本文件:vim realserver

 

 

#!/bin/bash

SNS_VIP=19.50.67.173     #虚拟IP地址

.  /etc/rc.d/init.d/functions    #.后边有空格,或者source  /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 755 realserver,开启realserver服务:service realserver start(systemctl start realserver)。

下图所示表示配置正确

 

每一台WEB服务器都要配置此脚本文件 #keepalived服务器不需要配置。

三、keepalived服务器配置

3.1 master配置

这里只展示了80端口的配置,如果需要其他端口,可以继续配置。

 

 

global_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 30

   router_id LVS_DEVEL

   vrrp_skip_check_adv_addr

   #vrrp_strict

   vrrp_garp_interval 0

   vrrp_gna_interval 0

}

 

vrrp_inst

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Shell命令 下一篇个人超级计算机

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目