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


    系统环境:win10

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

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

    在这里插入图片描述

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

    如果不晓得怎么创建webapi项目,可以围观我的其他博客文章来了解,博客地址:【包括gRPC\minimalApi\传统Webapi】https://blog.csdn.net/weixin_43214644/article/details/125487690?spm=1001.2014.3001.5502
    在这里插入图片描述

    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://blog.csdn.net/weixin_43214644/article/details/125487962?spm=1001.2014.3001.5502

    在这里插入图片描述

    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的结果出现的频率最多的情况。如果要都很平均,可以都设置为一样的值即可。

    在这里插入图片描述

  • 相关阅读:
    简述信息论与采样定理
    OOM异常类型总结
    C++基础入门
    [机缘参悟-65]:《兵者,诡道也》-7-三十六计解读-败战计
    SECCON CTF 2022 web复现
    测试人生 | 从小团队的业务到独角兽的测开,涨薪超过60%,90后小哥哥凤凰涅槃了
    Flask (Jinja2) 服务端模板注入漏洞复现
    详解 Springboot 中使用 Aop
    SSM+教学网站 毕业设计-附源码211611
    redis的单线程模型
  • 原文地址:https://blog.csdn.net/weixin_43214644/article/details/125487904