【Nginx】Windows平台下配置Nginx服务实现负载均衡

简介: 系统环境:win10 测试用的开发环境和服务类型:VS2022 + DotNet 6 + WebApi


前言:废话不多说了,直接上步骤。

 

系统环境:win10

测试用的开发环境和服务类型:VS2022 + DotNet 6 + WebApi

 

1、本地先创建一个webapi项目,用于测试使用。


1995789-20220626162618334-1261130888.png

 

2、新建一个API控制器,里面只提供一个Post请求类型的测试方法。

如果不晓得怎么创建webapi项目,可以围观我的其他博客文章来了解,博客地址:【包括gRPC\minimalApi\传统Webapi】https://www.cnblogs.com/weskynet/p/15677719.html


1995789-20220626162841591-2072721864.png

 

3、下载Nginx,下载地址:http://nginx.org/en/download.html

建议选择下载稳定版 (Stable version),上面Mainline version是最新版。


1995789-20220626162921138-133448219.png


4、对程序进行分身,为了验证测试的最终效果,此处直接输出三个不同的值用来区分。


1995789-20220626163110948-1557845313.png


5、分别把三个不同的输出结果的程序拷贝出来,先区分一下,用来后面打开三个程序做分布式测试使用。


1995789-20220626163212791-1858107381.png

 

6、分别启动三个程序,此处给三个程序分别赋予端口号18888、18889、18890


1995789-20220626163342674-355397058.png

 

7、启动Nginx,并测试Nginx是否可以使用。正常情况下,启动时候可能会一闪而过,所以可以通过 cmd 命令进行打开。直接在根目录下输入 nginx.exe 即可;或者输入start nginx 命令也是可以的。

启动成功以后,浏览器输入 localhost,会有如下图的提示效果,说明Nginx启动成功。


但是这样的启动方式,每次都会比较麻烦,都需要手动来启动,比较反人类。所以可以通过nssm工具来把nginx服务部署成windows服务。如果想了解nssm怎么部署成Windows服务,可以参考我的另一篇部署elk服务的文章:https://www.cnblogs.com/weskynet/p/14961565.html

 1995789-20220626163425109-346864829.png

8、先测试一下启动的api服务是不是正常,先通过api测试工具,例如postman调用一下,查看效果。如下,访问了18888端口,即第一个程序,返回了first,说明api是可以访问成功的。


1995789-20220626163649257-374777708.png

 

9、在Nginx根目录下,conf文件夹下,有它的配置文件们。nginx.conf配置文件可以用来配置负载均衡的策略有关。此处我用来配置监听10080端口,然后进行反射到18888、18889、18890三个地址。其他介绍,如图内的文字描述所述。


1995789-20220626163830097-1374380644.png

 

10、让配置生效,通过命令 nginx -s reload 即可生效,无需重启nginx服务。


1995789-20220626164054835-1368114208.png

 

11、使用postman进行测试,把端口改为nginx监听的10080端口,然后不断点击send进行查看结果,可以看到结果会不断变化,说明可以随机访问nginx反向代理的三个api服务;并且由于配置的权重不一致,所以会有third的结果出现的频率最多的情况。如果要都很平均,可以都设置为一样的值即可。


1995789-20220626164141747-274286615.png


最后:以上就是该文章的全部内容,如有帮助,欢迎点赞、推荐、转发和评论。谢谢各位大佬围观。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
11月前
|
Windows
Windows无法连接到打印机,请检查打印机名并重试 - 配置Windows 共享打印机出错;
WIN7共享打印机无法被WIN11连接,出现错误代码0x0000011b或0x00000709,可能是系统版本不兼容所致。本文提供多个轻量级修复工具,无需安装,双击即用,专为解决此类小问题设计,操作简单,适合普通用户快速修复打印机连接异常。
1387 0
|
11月前
|
负载均衡 NoSQL Redis
不增加 GPU,首 Token 延迟下降50%|LLM 服务负载均衡的新实践
针对LLM服务的特点,Higress AI网关以插件形式提供了面向LLM服务的负载均衡算法,包括全局最小请求数负载均衡、前缀匹配负载均衡以及GPU感知负载均衡,能够在不增加硬件成本的前提下,提升系统的吞吐能力、降低响应延迟,并实现更公平、高效的任务调度。
1104 136
|
10月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
530 18
|
10月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
898 17
|
10月前
|
存储 负载均衡 网络协议
VMware Avi Load Balancer 31.1.2 发布 - 多云负载均衡平台
VMware Avi Load Balancer 31.1.2 发布 - 多云负载均衡平台
228 0
VMware Avi Load Balancer 31.1.2 发布 - 多云负载均衡平台
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
11月前
|
负载均衡 网络协议 网络安全
VMware Avi Load Balancer 30.2.4 - 多云负载均衡平台
VMware Avi Load Balancer 30.2.4 - 多云负载均衡平台
524 0
VMware Avi Load Balancer 30.2.4 - 多云负载均衡平台
|
C语言 图形学 Windows
Windows下安装和配置GTK4(基于CLion)
本文介绍了作者选择GTK作为C语言图形库的原因,包括代码简洁、控件丰富和界面美观,并分享了在Windows环境下通过MSYS2安装GTK4及在CLion中配置开发环境的详细步骤。
1230 0
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
335 2
|
Java 数据安全/隐私保护 iOS开发
Windows 平台上也可以进行 iOS App 的开发
为了将 iOS APP 上架至 App Store,我们需要准备以下基本需求资料:1. 苹果开发者账号(如果还没有账号,需要先申请,可以参考苹果开发者账号申请教程)