首页 > 系统相关 >Windows上实现nginx的多负载,实现高可用,NLB 替代keepalived

Windows上实现nginx的多负载,实现高可用,NLB 替代keepalived

时间:2024-07-01 15:44:17浏览次数:16  
标签:nginx Windows IP keepalived 网络 群集 点击 NLB 负载平衡

【转】https://blog.csdn.net/fcclzydouble/article/details/122841013

NLB 就是网络负载平衡,windows Server 2012 中该功能允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡,保证即使是在负载很重的情况下它们也能够在很快的时间内做出反应。

网络负载平衡可以让客户端用一个逻辑Internet名称和虚拟IP地址(又称群集IP地址)访问群集,同时保留每台计算机各自的名称。网络负载平衡对外只须提供一个IP地址(或域名)。当网络负载平衡中的服务器故障,不可用时,网络负载平衡会自动检测到不可用的服务器,并在剩余的服务器中,重新指派客户机通讯。从而实现服务器的高可用,并且,可以根据网络访问量的增多来增加网络负载平衡服务器的数量。

简单的理解,NLB 就是一个简单的类似nginx的负载均衡

由于Windows环境没有linux中的keepalived实现,那就只能使用Windows自带的NLB来实现负载了。

首先准备两台机器,假设现在有 192.168.1.106 和 192.168.1.58 两个Windows环境,先安装nginx环境,主要的nginx配置如下:

worker_processes 1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

gzip on;

server {
listen 80;
server_name 192.168.1.106 127.0.0.1;

location / {
# 注意,反斜杠会有问题
root D:/nginx-1.5.1/html;
}
}
}

上面的 IP 和 静态资源根据自己的情况配置(这里只是一个演示环境,具体的nginx 配置文件看具体情况,一般先将这个完整的走通,就不会有大问题了)

 

查看当前系统的网络情况

 

 

准备工作完成,下面开始具体操作。

1、开启NLB

服务器管理-> 添加角色和功能->在功能中选择“网络负载均衡” 然后安装就可以了。

 

 

 

2、配置静态IP

注意,新建群集之前,我们要确保使用的是静态IP,否则无法将他们加入到群集中。

打开网络和共享中心

 

点击属性找到ipv4协议

 

选中后点击属性,开始配置IP。

 

 

根据自己的情况来填写上面的参数。两台机器都需要配置。

3、安装好NLB之后,我们随便选择一台新建集群,这里就使用 192.168.1.58 来新建集群,然后另外一台加入到群集即可。

从管理工具中打开 网络负载均衡器,右击“网络负载平衡群集”,选择“新建群集”。

 

新建群集。

 

点击连接,将当前主机加入,点击下一步

 

进入 “新群集:主机参数”,直接下一步,这里什么都不用填。

 

进入 “新群集:群集IP地址”, 填入对外的统一IP,这个IP就是整个nginx的统一对外IP,也就是这台机器的浮动IP ,我们这里填入的是 192.168.1.20 ,添加到窗口中然后点击下一步

 

 

继续下一步

 

选择“多播”然后点击下一步

 

在端口规则页面,选中全部,然后点击编辑

 

将端口范围改成 80~80,协议选 “TCP”,相关性选“无”,具体什么端口根据nginx来定。

 

点击确定回到主窗口,然后点击完成。

 

注意,完成这个后,会有一会断网,过一会在连接进去,可以看到下面的配置已经生效。

 

这个时候再次查询网络情况,可以看到有两个IP了。

 

 

4、加入群集

已经完成初步的群集创建,现在要将另外一台机器加入进来。

还是在当前( 192.168.1.58) 机器上执行添加。选中我们的浮动IP,右键点击“添加主机到群集”。

 

 

输入要加入集群的机器,这里是另外一台机器的IP(192.168.1.106)

中途可能需要输入另外一台机器的用户名和密码

 

如果多网络的情况下,选中远程主机我们输入的IP

 

继续下一步

 

 

然后等待一会,当两个都变成已启用就OK了

 

查看对应机器的网络,也变成如下。(不需要管其他机器的网络负载平衡管理器页面)

 

 

这个时候访问我们的浮动IP就可以访问到页面了,这样就实现了nginx的高可用。

但也可能出现无法访问的情况,这个时候就要右键属性,将多播改为单播

 

 

这种情况一般和不同网段有关系,发送出去了,但没有返回数据包的情况。

总结:

第一,我们的nginx还是正常的配置,监听的端口和IP不是浮动IP

第二,端口并不是全部都转发,而是只转发nginx配置的端口,这里监听的是80,可能正常情况会配置8080之类的
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/fcclzydouble/article/details/122841013

标签:nginx,Windows,IP,keepalived,网络,群集,点击,NLB,负载平衡
From: https://www.cnblogs.com/wohenxinwei/p/18278174

相关文章

  • Windows11家庭版如何使用远程桌面
     下载、安装从本文最上面的依赖下载RDPwrapv1.6.2文件(压缩包),并解压,文件构成大致如下:–install.bat安装RDPWrap–RDPCheck.exe在本地测试远程连接情况–RDPConf.exe设置远程桌面(也用于检查运行情况)–uninstall.bat卸载RDPWrap–update.bat在Github上检查更新......
  • Windows 系统中CPU 利用率那些事
    Windows平台下CPU使用率的计算在Windows平台下,CPU使用率通过计算CPU在用户态和内核态的时间与总时间的比值来确定。任务管理器的刷新周期通常为1秒,这意味着在每秒刷新时计算CPU的忙碌时间与总时间的比值。CPU使用率可以通过以下公式计算:[\text{CPU使用率}......
  • Win10需要使用新应用以打开此windowsdefender链接怎么解决?
    1、以管理员身份打开“WindowsPowerShell”。 2、以管理员身份在Powershell中依次运行如下命令即可解决。1.$BasePath=Get-Content.appx.list(报错不要管)2.$BasePath|%{$Path=$($_).Trim()Add-AppxPackage-Register-DisableDevelopmentMode“$PathAppXManifest.xml......
  • Windows11系统System.Workflow.Activities.resources.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个System.Workflow.Activities.resources.dll......
  • Windows11系统System.Windows.Controls.Ribbon.resources.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个System.Windows.Controls.Ribbon.resources.......
  • Windows11系统System.Windows.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个System.Windows.dll文件(挑选合适的版本文件......
  • WPF在.NET9中的重大更新:Windows 11 主题
    在2023年的2月20日,在WPF的讨论区,WPF团队对路线的优先级发起了一次讨论。对三个事项发起了投票。第一个是Windows11主题第二个是更新的控件第三个是可空性注释最终Windows11主题得票最高,WPF团队2023-2024的工作优先级就是Windows11主题了。WPF控件的外观多年来一......
  • 【python零基础入门到就业】002、2024最新windows环境下python的下载和安装
    文章目录1.引言2.检查是否已安装Python3.在Windows上安装Python3.1下载Python安装包3.2安装Python3.3验证安装4.结语1.引言在开始编写Python代码之前,我们首先需要在计算机上安装Python。本文将详细介绍如何在Windows系统上下载和安装Python。2......
  • Linux和windows网络配置文件的修改
    Linux和windows网络配置文件的修改网络配置文件是计算机网络管理中至关重要的一部分。正确配置网络文件可以确保计算机与网络设备之间的通信顺畅,避免网络故障。本文将详细介绍网络配置文件的修改方法,包括常见命令、使用方法举例,以及一些优化建议。一、网络配置文件概述网......
  • 使用PowerShell执行的命令和示例,用于增强Windows系统的安全性巡检项目:2024
    使用PowerShell执行的命令和示例,用于增强Windows系统的安全性巡检项目:检查系统服务和进程:powershellCopyCode#列出所有正在运行的服务Get-Service|Where-Object{$_.Status-eq'Running'}#列出所有正在运行的进程Get-Process检查本地安全策略和组策略:powersh......