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

系统环境:win10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如果有想法一起吹牛聊技术,也可以下方点击加入Q群。或者扫描下方二维码加我私人微信,我拉你进群,也是OK的。

PS: 如果没找到申请入口,可以点击该博客最初的原文链接进行加入:https://www.cnblogs.com/weskynet/p/16413830.html

再次感谢各位大佬捧场,祝大家撸代码愉快~~

最新文章

  1. Unity中脚本的执行顺序总结(@WhiteTaken)
  2. Log4J的入门简介学习【转】
  3. ionic cordova 热更新
  4. Lintcode: Rotate String
  5. css中的继承、层叠、样式优先级机制
  6. dwr demo教程
  7. SQLite中的日期基础
  8. ListView下拉刷新及上拉更多两种状态
  9. 最简单的基于FFMPEG+SDL的视频播放器 ver2 (採用SDL2.0)
  10. spring定时器的使用
  11. (MariaDB)MySQL内置函数大全
  12. (Python)PO设计模式
  13. Startls Back 引起的 win10升级之后的闪屏问题
  14. 洛谷 P2915 【[USACO08NOV]奶牛混合起来Mixed Up Cows】
  15. Delphi fmx控件在手机滑动与单击的问题
  16. shell脚本中冒号
  17. arch+win7 双系统启动引导
  18. python读取日志,存入mysql
  19. java的一些问题
  20. Angular5学习笔记 - 配置Http(七)

热门文章

  1. 在Java中==的一个坑
  2. 项目依赖模块解决、二次封装Response、后台数据库配置、user模块user表设计、前台创建及配置
  3. centos下安装ansible自动化工具(超详细,包含基本使用)
  4. Bugku CTF练习题---MISC---宽带信息泄露
  5. XCTF练习题---MISC---倒立屋
  6. 双列集合Map接口 & Collections工具类
  7. 继承 & super & 方法覆盖
  8. C# 编写一个简单易用的 Windows 截屏增强工具
  9. Redis 的数据过期了就会马上删除么?
  10. spring-boot rest controller 使用枚举作为参数,重写反序列化实现任意值转枚举类型