Nginx 7层负载均衡的搭建

 

目录

负载均衡的理解

修改配置文件

 测试

1. 选择在 DMZ 区测试,使用 db 服务器进行测试

2.选择在外网测试负载均衡效果


负载均衡的理解

负载均衡:load balancer,简称LB
Nginx 既是一个 web 服务器软件,也是一个负载均衡软件(反向代理),也就是说负载均衡是在nginx这个软件做的,本质是更改nginx配置文件开启负载均衡器upstream,将后端服务器(real server)加入到upstream下。这样在访问这个拥有负载均衡器的服务器ip时候就会转发。

负载均衡 

* 四层负载均衡:工作在传输层 -> 根据端口号做转发      --with-stream 表示四层负载开启  效率高    tcp udp 作用在传输层

* 七层负载均衡:工作在应用层 -> 根据协议做转化(http协议)   默认支持七成负载均衡

总结: 负载均衡器通常称为四层交换机或七层交换机。四层交换机主要分析IP层及TCP/UDP层,实现四层流量负载均衡。七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。

负载均衡器的作用:
  1. 是一个中间件(软件),可以解决大量用户同时访问的时候,将流量均衡分配到后端的业务服务器上,避免某台服务器流量过大,导致服务器崩溃。解决了大并发情况下能正常访问的问题。
  2. 提高了网站的性能(并发量)和用户体验。
  3. 方便网站的性能扩展
  4. 可以让业务服务器之间可以起到冗余功能--》高可用

修改配置文件

[root@lb-1 ~]# cd /usr/local/wangguang/conf/
[root@lb-1 conf]# vim nginx.conf
worker_processes 2;
events {
worker_connections 2048;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#定义一个负载均衡器 scapp
upstream scapp {
server 192.168.50.144;
server 192.168.50.149;
}
server {
listen 80;
server_name localhost;
location / {
#访问网页根目录直接转发到负载均衡器上进行处理
proxy_pass http://scapp;
}
}
}

 修改配置文件以后一定要测试配置文件语法是否正确并重启

[root@lb-1 conf]# nginx -t
nginx: the configuration file /usr/local/wangguang/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/wangguang/conf/nginx.conf test is successful
[root@lb-1 conf]# nginx -s reload

 测试

这一步的操作比较多,首先需要两个web服务器安装nginx,同时修改首页index.html文件,能从页面看出web服务器的不同,之前已经实现过。

1. 选择在 DMZ 区测试,使用 db 服务器进行测试

如果多次执行访问,出现不同的页面,表示负载均衡效果成功。注意访问的是这个负载均衡器所在的ip地址
[root@db-mysql ~]# curl 192.168.50.150
看到
<h1>Welcome to www!</h1>
同时再一次访问
[root@db-mysql ~]# curl 192.168.50.150
看到
<h1>Welcome to nginx!</h1>

2.选择在外网测试负载均衡效果

需要在防火墙服务器上修改 DNAT 策略,发布负载均衡器 LB1 ,用户访问 web 业务直接转发
LB1 服务器上
[root@firewall ~]# vim set_fw_snat_dnat.sh
#!/bin/bash
#开启路由功能
echo 1 >/proc/sys/net/ipv4/ip_forward
#修改/etc/sysctl.conf 里添加下面的配置
#net.ipv4.ip_forward = 1
#清除防火墙规则
iptables=/usr/sbin/iptables
$iptables -F
$iptables -t nat -F
#set snat policy
$iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o ens33 -j MASQUERADE
#set dnat policy 使用 2 个外网的 ip 对应内部的 2 个 vip,将 2 个 vip 发布出去,提供 web 服务
$iptables -t nat -A PREROUTING -d 192.168.1.125 -i ens33 -p tcp --dport 80 -j DNAT
--to-destination 192.168.50.150

#发布堡垒机,访问防火墙的 2233 端口转发到堡垒机的 22 端口
$iptables -t nat -A PREROUTING -d 192.168.1.125 -i ens33 -p tcp --dport 2233 -j DNAT
--to-destination 192.168.50.145:22
[root@firewall ~]#
执行脚本
[root@firewall ~]# bash set_fw_snat_dnat.sh
windows 机器上进行测试
直接去访问 ip 地址 http://192.168.1.125,也就是我们的WAN口,测试如图,直接刷新

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【NLP】文本分类

n-gram 的局限性 n-gram 只能对于填空这样的通顺性问题做出推测&#xff0c;但是没有办法完全解决句子的语义问题&#xff0c;从而无法实现文本的分类 文本的分类&#xff0c;就是将文本在语义的理解下划分到特定的主题下 手工规则 如一些垃圾过滤系统&#xff0c;需要人工制…

企业或者个体户为什么会经营异常?

在复杂多变的市场经济环境中&#xff0c;无论是企业还是个体工商户&#xff0c;都可能遭遇经营异常的情况。及时识别这些预警信号并采取有效措施&#xff0c;对于避免潜在风险、保持健康发展至关重要。本文将深入探讨企业与个体户常见的经营异常类型、识别方法以及应对策略&…

有趣的css - 文字隐身术效果

大家好&#xff0c;我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;今天分享的是利用动画属性来模拟文字隐身消失的效果。 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样…

php解密工具

在线编辑器 复制如下代码到空白地区: <?php namespace FatSmallTools; class NavicatPassword {protected $version 0;protected $aesKey libcckeylibcckey;protected $aesIv libcciv libcciv ;protected $blowString 3DC5CA39;protected $blowKey null;protected $b…

MCULCD屏驱动方法

MCULCD屏驱动方式 一、LCD简介二、直接采用8080时序驱动LCD三、采用FSMC&#xff08;模拟8080时序&#xff09;驱动LCD1&#xff0c;FSMC简介2&#xff0c;结构框图3&#xff0c;FMC 驱动 LCD 显示配置步骤 一、LCD简介 Liquid Crystal Display&#xff0c;即液晶显示器&#…

GPT-4o 的商业化落地使用场景

今天我想和大家聊一聊 OpenAI 的 GPT-4o。这款令人惊叹的语言模型不仅在技术层面上令人钦佩&#xff0c;也在多种实际应用中展现了巨大的商业潜力。 GPT-4o 是什么&#xff1f; 首先&#xff0c;简单介绍一下 GPT-4o。它是由 OpenAI 开发的一种高级自然语言处理模型&#xff0…

【全开源】keep健身小程序FastAdmin+ThinkPHP+UniApp

基于FastAdminUniApp&#xff08;目前仅支持微信小程序&#xff09;开发的健身相关行业小程序&#xff0c;程序适用于健身房、瑜伽馆、游泳馆、篮球馆等健身培训场所。平台拥有课程售卖、课*程*预*约、多门店管理、私教预约、教练端、会*员*卡办理、在线*商*城、分*销*模块、页…

每日一练 2024.5.16(补2024.5.12)

题目&#xff1a; 给你 n 个项目&#xff0c;编号从 0 到 n - 1 。同时给你一个整数数组 milestones &#xff0c;其中每个 milestones[i] 表示第 i 个项目中的阶段任务数量。 你可以按下面两个规则参与项目中的工作&#xff1a; 每周&#xff0c;你将会完成 某一个 项目中的…

堆的概念及结构

目录 堆的性质&#xff1a; 堆的实现 堆向下调整算法 堆的创建 堆的插入 堆的删除 堆的应用 堆排序 对比冒泡的优势&#xff1a; 代码 头文件 源文件 如果有一个关键码的集合K { &#xff0c; &#xff0c; &#xff0c;…&#xff0c; }&#xff0c;把它的所有元…

JUnit5测试用例

1.用Test注解表示为测试方法 2.使用DisplayName定义别名 3.使用Assertions类的断言方法 使用断言&#xff0c;可以判断方法的实际执行结果和预期结果是否一致 assertEqualsassertTureassertNotNullassertAllassertThrows 下图是预期与实际不同时报错图 4.使用BeforeEach注解&…

SQL操作面试题

1、NULL和 的区别 || MySQL中为什么不用NULL作为默认值 聚合函数&#xff0c;比如SUM、AVG等会忽略NULL&#xff0c;会造成数据的一个分析误差。只能通过COUNT&#xff08;*&#xff09; NULL的话只能通过ISNULL和ISNotNULL去进行判断&#xff0c;而 可以用<,>,等等…

怎么转换视频格式到mp4?格式转换,4种简单方法

转换视频格式到MP4可以使视频在各种设备上播放更加方便&#xff0c;而MP4格式的优势在于其高质量的视频和相对较小的文件大小。怎么转换视频格式到mp4&#xff1f;在本文中&#xff0c;我们将介绍四种简单有效的方法&#xff0c;帮助您快速将视频格式转换为MP4。 无论您是初学…

花花省V6淘宝客APP社交电商自营商城聚合优惠券系统功能介绍

花花省V6淘宝客APP的社交电商自营商城聚合优惠券系统具有多种功能&#xff0c;以满足用户的不同需求。以下是其主要功能的介绍&#xff1a; 首页功能&#xff1a;首页设计包含广告位、淘口令识别、微信登录、淘宝登录等。此外&#xff0c;还有淘宝返佣、拼多多返佣、京东返佣、…

软考:数据流图案例

阅读下列说明和图&#xff0c;回答问题1至问题4。 一、说明 某医院欲开发病人监控系统。该系统通过各种设备监控病人的生命体征&#xff0c;并在生命体征异常时向医生和护理人员报警。该系统的主要功能如下&#xff1a; &#xff08;1&#xff09;本地监控&#xff1a;定期获…

剑指Offer打卡day34——AcWing 66. 两个链表的第一个公共结点

AcWing 66. 两个链表的第一个公共结点 暴力做法&#xff0c;两层for循环 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/ class Solutio…

Linux ps命令详细参数

一、简介 在Linux系统中&#xff0c;ps(Process Status的缩写)命令常常用来用来列出系统中当前运行的进程。ps命令列出的是当前那些进程的快照&#xff0c;就是执行ps命令的那个时刻的那些进程&#xff0c;如果想要动态的显示进程信息&#xff0c;就可以使用top命令。要对进程…

Synchronize 底层实现原理

1 、加锁实现原理 public class SynchronizedTest {public void get(){synchronized (this){ // 这个是同步代码块System.out.println("你好呀");}}public synchronized void f(){ //这个是同步方法System.out.println("Hello world");}public s…

DC-DC直流升压线性可调电源模块电压控制输出0-50V/0-80V/0-100V/0-200V/0-250V/0-300V/0-500V/0-1000V

特点 效率高达 75%以上1*2英寸标准封装单电压输出可直接焊在PCB 上工作温度: -40℃~75℃阻燃封装&#xff0c;满足UL94-V0 要求温度特性好电压控制输出,输出电压随控制电压线性变化 应用 GRB 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为&#xff1a;4.5~9V、…

转载 | 大佬3万字深度分析:2024全球游戏业正在遭遇什么困境?

2022年&#xff0c;游戏业当时的裁员人数达到了破纪录的8500人&#xff0c;2023年这个数字几乎增长了20%&#xff0c;然后在2024开年的两个月&#xff0c;就已经有7800人丢掉了工作。伴随着这些裁员的&#xff0c;是大量表现不及预期的或者完全失败的游戏&#xff0c;还有更多处…