构建 LVS-DR 群集、配置nginx负载均衡。

目录

一、基于 CentOS 7 构建 LVS-DR 群集

1、准备四台虚拟机

2、配置负载调度器(192.168.2.130)

3、部署共享存储(192.168.2.133)

4、配置两个Web服务器(192.168.2.131、192.168.2.132)

测试集群

二、配置nginx负载均衡。

1、安装部署nginx

2、负载均衡服务器192.168.2.130

3、web1服务器192.168.2.131,web2服务器192.168.2.132

4、配置hosts文件


一、基于 CentOS 7 构建 LVS-DR 群集

1、准备四台虚拟机

ip角色

192.168.2.130

vip:192.168.2.200

DR服务器
192.168.2.131Web服务器1
192.168.2.132Web服务器2
192.168.2.133NFS服务器

2、配置负载调度器(192.168.2.130)

systemctl stop firewalld
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

(1)配置虚拟IP地址(vip:192.168.2.200)

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.2.200
NETMASK=255.255.255.255


[root@localhost network-scripts]# ifup ens33:0
[root@localhost network-scripts]# ifconfig ens33:0

(2)调整proc响应参数

[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

 (3)手工执行配置负载分配策略

[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@localhost ~]# systemctl start ipvsadm
[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 192.168.2.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.2.200:80 -r 192.168.2.131:80 -g
[root@localhost ~]# ipvsadm -a -t 192.168.2.200:80 -r 192.168.2.132:80 -g
[root@localhost ~]# ipvsadm

3、部署共享存储(192.168.2.133)

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# mkdir /opt/blue /opt/summer
[root@localhost ~]# chmod 777 /opt/blue /opt/summer
[root@localhost ~]# vim /etc/exports
/usr/share *(ro,sync)
/opt/blue 192.168.2.0/24(rw,sync)
/opt/summer 192.168.2.0/24(rw,sync)

[root@localhost ~]# systemctl start nfs.service 
[root@localhost ~]# systemctl start rpcbind.service

4、配置两个Web服务器(192.168.2.131、192.168.2.132)

两个服务器相同的配置步骤

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0

[root@localhost network-scripts]# ifup lo:0
[root@localhost network-scripts]# ifconfig lo:0

配置主机路由

[root@localhost network-scripts]# route add -host 192.168.2.200 dev lo:0
[root@localhost network-scripts]# vim /etc/rc.local
/sbin/route add -host 192.168.2.200 dev lo:0

[root@localhost network-scripts]# chmod +x /etc/rc.d/rc.local

调整内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突

[root@localhost network-scripts]# vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1	
net.ipv4.conf.lo.arp_announce = 2		
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

[root@localhost network-scripts]# yum -y install nfs-utils rpcbind httpd lsof
[root@localhost network-scripts]# systemctl start rpcbind
[root@localhost network-scripts]# systemctl start httpd
[root@localhost network-scripts]# lsof -i:80
[root@localhost network-scripts]# showmount -e 192.168.2.133

 

--192.168.2.131---
mount.nfs 192.168.2.131:/opt/blue /var/www/html
echo 'this is 131 web' > /var/www/html/index.html

--192.168.2.132---
mount.nfs 192.168.2.132:/opt/summer /var/www/html
echo 'this is 132 web' > /var/www/html/index.html

测试集群

 

二、配置nginx负载均衡。

1、安装部署nginx

2、负载均衡服务器192.168.2.130

[root@localhost ~]# vim /etc/nginx/conf.d/nginx.conf
 
server{
        listen 80;
        server_name www.first.com;
        location /{
                proxy_pass http://web_server;
   }
}

upstream web_server{
        server 192.168.2.131;
        server 192.168.2.132;
}

3、web1服务器192.168.2.131,web2服务器192.168.2.132

[root@localhost ~]# echo "Welcome to 131 server:192.168.2.131" > /root/index.html
[root@localhost ~]# echo "Welcome to 132 server:192.168.2.132" > /root/index.html

4、配置hosts文件

192.168.2.130 www.first.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/75766.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PHP最简单自定义自己的框架数据库封装调用(五)

1、实现效果调用实现数据增删改查封装 2、创建数据表 CREATE TABLE test (id int(11) NOT NULL AUTO_INCREMENT,name varchar(30) DEFAULT NULL,age int(11) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEMyISAM AUTO_INCREMENT4 DEFAULT CHARSETutf8;3、index.php 入口定义数据库…

云服务 Ubuntu 20.04 版本 使用 Nginx 部署静态网页

所需操作: 1.安装Nginx 2.修改配置文件 3.测试、重启 Nginx 4.内部修改防火墙 5.配置解析 6.测试是否部署成功 1.安装Nginx // 未使用 root 账号 apt-get update // 更新apt-get install nginx // 安装 nginx 1.1.测试是否安装没问题 在网页上输入云服务的公网…

山西电力市场日前价格预测【2023-08-16】

日前价格预测 预测明日(2023-08-16)山西电力市场全天平均日前电价为363.90元/MWh。其中,最高日前电价为430.17元/MWh,预计出现在19: 30。最低日前电价为318.33元/MWh,预计出现在13: 00。 价差方向预测 1: 实…

css3 瀑布流布局遇见截断下一列展示后半截现象

css3 瀑布流布局遇见截断下一列展示后半截现象 注:css3实现瀑布流布局简直不要太香~~~~~ 场景-在uniapp项目中 当瀑布流布局column-grap:10px 相邻两列之间的间隙为10px,column-count:2,2列展…

如何使用CSS实现一个纯CSS的滚动条样式?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现自定义滚动条样式⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣…

Leetcode 21. 合并两个有序链表

题目描述 题目链接:https://leetcode.cn/problems/merge-two-sorted-lists/description/ 思路 两个链表都是升序链表,新建一个链表,引入伪头节点作为辅助节点,将各节点添加到伪节点之后,再用一个cur节点指向新链表的…

创新方案|超越炒作 – 从产品驱动增长PLG到产品驱动销售PLS的务实策略指南

这篇文章探讨从产品驱动增长到产品驱动销售的策略,超越了产品驱动增长的炒作。尽管产品驱动增长模式被认为是科技公司的灵丹妙药,但要取得成功,通常需要结合更传统的企业模式的要素。研究表明,只有少数采用产品驱动增长模式的公司…

2023上半年京东手机行业品牌销售排行榜(京东数据平台)

后疫情时代,不少行业都迎来消费复苏,我国智能手机市场在今年上半年也实现温和的复苏,手机市场的出货量回暖。 根据鲸参谋平台的数据显示,2023年上半年,京东平台上手机的销量为2830万,环比增长约4%&#xf…

opencv进阶02-在图像上绘制多种几何图形

OpenCV 提供了方便的绘图功能,使用其中的绘图函数可以绘制直线、矩形、圆、椭圆等多种几何图形,还能在图像中的指定位置添加文字说明。 OpenCV 提供了绘制直线的函数 cv2.line()、绘制矩形的函数 cv2.rectangle()、绘制圆的函数cv2.circle()、绘制椭圆的…

IOC容器

DI(依赖注入):DI(Dependency Injection)是一种实现松耦合和可测试性的软件设计模式。它的核心思想是将依赖关系的创建与管理交给外部容器,使得对象之间只依赖于接口而不直接依赖于具体实现类。通过依赖注入…

C++ 动态规划经典案例解析之最长公共子序列(LCS)_窥探递归和动态规划的一致性

1. 前言 动态规划处理字符相关案例中,求最长公共子序列以及求最短编辑距离,算是经典中的经典案例。 讲解此类问题的算法在网上一抓应用一大把,即便如此,还是忍不住有写此文的想法。毕竟理解、看懂都不算是真正掌握,唯…

【LeetCode-简单】剑指 Offer 29. 顺时针打印矩阵(详解)

题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入:matrix [[1,2,3,4],[5,6,7,8],[9,10,1…

npm install 中 --save 和 --save-dev 是什么?

npm,全名 Node Package Manager,套件管理工具,package.json 会记下你在项目中安装的所有套件。 假设在项目中安装 lodash npm i --save lodash这样在 dependencies 中会出现: 如果修改了导入方式: npm i --save-dev …

20230814让惠普(HP)锐14 新AMD锐龙电脑不联网进WIN11进系统

20230814让惠普(HP)锐14 新AMD锐龙电脑不联网进WIN11进系统 2023/8/14 17:19 win11系统无法跳过联网 https://www.xpwin7.com/jiaocheng/28499.html Win11开机联网跳过不了怎么办?Win11开机联网跳过不了解决方法 Win11开机联网跳过不了怎么办?Win11开机…

【C++】开源:spdlog跨平台日志库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍spdlog日志库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下…

Qt 屏幕偶发性失灵

项目场景: 基于NXP i.mx7的Qt应用层项目开发,通过goodix使用触摸屏,走i2c协议。 问题描述 触摸屏使用过程中意外卡死,现场分为多种: i2c总线传输错误,直观表现为触摸屏无效,任何与触摸屏挂接在同一总线上的i2c设备,均受到干扰,并且在传输过程中内核报错以下代码: G…

react实现模拟弹框遮罩的自定义hook

需求描述 点击按钮用于检测鼠标是否命中按钮 代码实现 import React from react; import {useState, useEffect, useRef} from react;// 封装一个hook用来检测当前点击事件是否在某个元素之外 function useClickOutSide(ref,cb) {useEffect(()>{const handleClickOutside…

互联网发展历程:跨越远方,路由器的启示

互联网的蓬勃发展,一直在追求更广阔的连接,更遥远的距离。然而,在早期的网络中,人们面临着连接距离有限的问题。一项重要的技术应运而生,那就是“路由器”。 连接受限的问题:距离有限 早期的网络受限于直接…

vue+flask基于知识图谱的抑郁症问答系统

vueflask基于知识图谱的抑郁症问答系统 抑郁症已经成为当今社会刻不容缓需要解决的问题,抑郁症的危害主要有以下几种:1.可导致病人情绪低落:抑郁症的病人长期处于悲观的状态中,感觉不到快乐,总是高兴不起来。2.可导致工…

安卓13解决链接问题

作为Android用户,你可能已经注意到了一个问题——Android 13不再支持PPTP协议。但请别担心,作为一家专业的代理供应商,我们将与你分享解决方案,让你轻松解决L2TP问题,享受到高水平的连接体验。本文将为你提供实用的操作…