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同时在线,提供了更好的性能。

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

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

LVS+keepalived+nginx+tomcat

二、 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)。

下图所示表示配置正确

LVS+keepalived+nginx+tomcat

每一台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_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

19.50.67.173

}

}

virtual_server 19.50.67.173 80 {

delay_loop 5

lb_algo wrr

lb_kind DR

persistence_timeout 30

protocol TCP

real_server 19.50.67.171 80 {

weight 2

TCP_CHECK {

connect_timeout 10

nb_get_retry 3 #新版本已经改为retry

delay_before_retry 3

connect_port 80 加了此项会报错

}

HTTP_GET {

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 19.50.67.172 80 {

weight 2

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80 加了此项会报错

}

HTTP_GET {

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

3.2 backup配置

将state由MASTER改为BACKUP将priority由100改为99,其他的保持和master不变。

vrrp_instance VI_1 {

state BACKUP # 这里改为BACKUP

interface eth1

virtual_router_id 51

priority 99 # 这里改为99,master优先级是100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.80.200

}

}

三、 验证

因为两台真实服务器的取值一致,所以会依次交替将请求转发给两台服务器,以此实现负载均衡。

Master和backup的priority不一样,所以同一时间只会有一台keepalived工作,以此实现主从热备。

ipvsadm -ln可以查看keepalived转发明细(三个端口均转发到了后端NGINX)

ipvsadm -L -n -c查看链接状态

LVS+keepalived+nginx+tomcat

Original: https://www.cnblogs.com/simendavid/p/16715707.html
Author: 湖南馒头
Title: LVS+keepalived+nginx+tomcat

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/574074/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 关于Linux_CentOS8.0安装软件时遇到的坑

    新的一年已经开始,准备换工作。在此之前,我已经做好了升级准备,买了一台服务器。 [En] The new year has begun, ready to change jobs….

    Linux 2023年5月27日
    0138
  • 工作三年的一些感悟

    前言 很久没有上博客,我是看着其中一篇文章进来,然后正好我也加起来三年,那就提笔写一下感触,出来三年基本上和有些同学断了联系,唯有室友还偶尔还会聊上几句,三年做过游戏测试、社交AP…

    Linux 2023年6月8日
    0101
  • ipmitool for windows下载网址

    ipmitool for windows版本下载网址 http://ipmiutil.sourceforge.net/ Original: https://www.cnblogs….

    Linux 2023年6月7日
    0110
  • Debian目录的生成及打包

    故事背景 做linux开发的一般都会涉及到deb包,那么我们如何制作deb包,debian目录中都有哪些文件以及他们的含义是什么呢?那么我们就带着这些疑惑去探索了。 探索之路 首先…

    Linux 2023年5月27日
    0145
  • RPA纳税申报机器人

    bash;gutter:true;1、机器人开始工作2、机器人打开企业内部税务平台,自动下载报税底表3、机器人自动登录地方税务局,填写报税数据手工报税10分钟/3个表 VS 机器人…

    Linux 2023年6月7日
    080
  • 从 Hadoop 到云原生, 大数据平台如何做存算分离

    Hadoop 的诞生改变了企业对数据的存储、处理和分析的过程,加速了大数据的发展,受到广泛的应用,给整个行业带来了变革意义的改变;随着云计算时代的到来, 存算分离的架构受到青睐,企…

    Linux 2023年6月14日
    058
  • Android:Jetpack之视图绑定——ViewBinding

    1.Jetpack简介 手机厂商还没卷完Android 12, Android 13就悄然声息地来了,距离Google 2008年9月22日发布Android 1.0,已过去13个…

    Linux 2023年6月13日
    0102
  • phpcms v9编辑器上传图片是否添加水印

    第一步:给图片上传对话框里面添加是否添加水印的多选框,找到: satics/js/ckeditor/ckeditor.js 第17554行 (需要格式化,我用的NetBeans)修…

    Linux 2023年6月13日
    094
  • 如何逃离框架孤井?

    前言 前面我发过一篇文章,脱离了Spring询问大家能不能继续开发,结果文章下面的评论和回复都告诉我大家伙的基础打得很牢固,该咋写还是咋写。看得我在这内卷的时代瞬间躺平。 那么今天…

    Linux 2023年6月13日
    097
  • CentOS7内置Realtek网卡驱动r8169降级r8168

    前几天装了几台服务器测试,在使用的过程中发现,每次重启系统,登录界面会弹出网卡提示 “r8169 0000:02:00 eth0 Invalid ocp reg 177…

    Linux 2023年6月6日
    0115
  • shell常用集锦

    404. 抱歉,您访问的资源不存在。 可能是URL不正确,或者对应的内容已经被删除,或者处于隐私状态。 [En] It may be that the URL is incorre…

    Linux 2023年5月27日
    0114
  • Redis 的 5 个常见使用场景

    在这篇文章中,我们将阐述 Redis 最常用的使用场景,以及那些影响我们选择的不同特性。 最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存…

    Linux 2023年5月28日
    0111
  • 【论文笔记】(2015,防御蒸馏)Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks

    有关蒸馏 (Distillation)的论文: (2006)Model Compression (2014)Do Deep Nets Really Need to be Deep?…

    Linux 2023年6月7日
    0135
  • redis限流的3种实现方式

    Redis限流的实现方式有3种,分别是:1、基于Redis的setnx的操作,给指定的key设置了过期实践;2、基于Redis的数据结构zset,将请求打造成一个zset数组;3、…

    Linux 2023年5月28日
    096
  • jmeter之数据库连接JDBC安装与使用

    jmeter中如果要用sql语句查询数据库,就需要用到JDBC请求和JDBC Connection Configuration了。 首先来了解下,JDBC是什么?英文全称为Java…

    Linux 2023年6月8日
    0120
  • pysimpleGui 之table使用

    (class) Table(values, headings=None, visible_column_map=None, col_widths=None, def_col_wid…

    Linux 2023年6月14日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球