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

🚀 优质资源分享 🚀

学习路线指引(点击解锁)知识定位人群定位
🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

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

系统环境:win10

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

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

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

如果不晓得怎么创建webapi项目,可以围观我的其他博客文章来了解,博客地址:【包括gRPC\minimalApi\传统Webapi】https://blog.csdn.net/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://blog.csdn.net/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://blog.csdn.net/weskynet/p/16413830.html

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

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

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

相关文章

PLC基础入门

PLC编程入门基础技术知识学习 2016-06-27 xjp7879 摘自 电工技术知...第一章 可编程控制器简介 可编程序控制器,英文称Programmable Controller,简称PC。但由于PC容易和个人计算机(Personal Computer)混淆,故人们仍习…

Xcode 的正确打开方式——Debugging

2019独角兽企业重金招聘Python工程师标准>>> 程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode。这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式。 “If debugging is the process of removing…

VS Code 调试 PHP有关配置

一、安装VS CODE 、 WampServer 二、用VS Code 打开php项目后,提示 "Cannot validate since no PHP executable is set. Use the setting php.validate.executablePath to configure the PHP executable." 解决方法如下: 在“文件”-“首选项”…

MSP430F5529 DriverLib 库函数学习笔记(十六)比较器B Comp_B

目录硬知识比较器B介绍比较器 B 的特点比较器 B 的结构模拟输入部分比较部分基准电压部分低通滤波部分比较器和普通运放的区别比较器B测量电阻原理利用比较器B实现电容触摸按键原理比较器B控制寄存器COMP_B API (机翻)介绍处理初始化和输出的函数参数处理中断的函数参数处理COM…

深入解析kubernetes controller-runtime

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

数据结构练习 00-自测3. 数组元素循环右移问题 (20)

一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1…

MSP432P401R TI Drivers 库函数学习笔记(一)导入工程模板

目录从Resource Explorer中导入从SDK导入测试平台:Code Composer Studio 10.4.0 MSP432P401R SimpleLink™ 微控制器 LaunchPad™ 开发套件 (MSP-EXP432P401R) 从Resource Explorer中导入 本文所用编程平台为Code Composer Studio 10.4.0 启动软件后在Help中打开…

ThreadLocal的简单理解

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

JMS 在 SpringBoot 中的使用

当前环境 Mac OS 10.11.xdocker 1.12.1JDK 1.8SpringBoot 1.5前言 基于之前一篇“一个故事告诉你什么是消息队列”,了解了消息队列的使用场景以及相关的特性。本文主要讲述消息服务在 JAVA 中的使用。 市面上的有关消息队列的技术选型非常多,如果我们的代…

MSP432P401R TI Drivers 库函数学习笔记(二)认识TI-RTOS (TI-POSIX)

目录简介TI-RTOSFreeRTOSPOSIX运行时对象查看器 (Runtime Object Viewer)TI-POSIX 介绍在源代码中使用 POSIXTI-POSIX支持的函数摘要线程函数调用的前后关系线程管理线程属性线程同步障碍属性条件变量条件变量属性互斥锁互斥属性读写锁定读写锁属性辅助函数调用的前后关系时钟消…

arcgis创建postgre企业级数据库

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

[floyd+路径输出]HDU1385 Minimum Transport Cost

题目链接 题目翻译: 有N个城市,然后直接给出这些城市之间的邻接矩阵,矩阵中-1代表那两个城市无道路相连,其他值代表路径长度。 如果一辆汽车经过某个城市,必须要交一定的钱(可能是过路费)。 现在要从a城到b城,花费为路…

MSP432P401R TI Drivers 库函数学习笔记(三)认识任务的创建及图形化配置

目录任务的简单创建图形化配置上手简简单单点个灯配置引脚建立任务实验结果整体代码main.cmyTask.cmyTask.h平台:Code Composer Studio 10.4.0 MSP432P401R SimpleLink™ 微控制器 LaunchPad™ 开发套件 (MSP-EXP432P401R) 任务的简单创建 根据上篇机翻的函数作用…

JavaScript实现自适应宽度的瀑布流

摘要: 主要介绍瀑布流的一种实现方法:绝对定位(css)javascriptajaxjson。简单一点如果不做滚动加载的话就是绝对定位(css)javascript了,ajax和json是滚动加载更多内容的时候用到的。 这样的布局并不陌生,从2011年Pinterest创立以来&#xff0…

.net web 开发平台- 表单设计器 一(web版)

如今为了适应需求的不断变化,动态表单设计器应运而生。它主要是为了满足界面的不断变化和提高开发速度。比如:一些页面客户可能也无法确定页面的终于布局,控件的位置,在哪种情况下显示或不显示等可能须要随时改动。为了应对这些需…

.NET程序配置文件操作(ini,cfg,config)

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

MSP432P401R TI Drivers 库函数学习笔记(四)GPIO

目录API头文件函数 (机翻)宏GPIO驱动程序api返回的通用状态代码GPIO_PinConfig输出引脚配置宏GPIO_PinConfig输入引脚配置宏GPIO_PinConfig中断配置宏特殊的GPIO_PinConfig配置宏类型别名示例配置引脚示例配置外部中断示例上机实战配置引脚main.cmyTask.cmyTask.h实验结果平台&…

# Vue3 toRef 和 toRefs 函数

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

二分检索函数lower_bound()和upper_bound()

二分检索函数lower_bound()和upper_bound() 一、说明 头文件&#xff1a;<algorithm> 二分检索函数lower_bound()和upper_bound() lower_bound()&#xff1a;找到大于等于某值的第一次出现upper_bound()&#xff1a;找到大于某值的第一次出现必须从小到大排序后才能用 内…

MSP432P401R TI Drivers 库函数学习笔记(五)PWM

目录API (机翻)函数上机实战配置引脚PWM初始化&#xff0c;实现简易呼吸灯的效果实验结果完整代码myPWM.cmyPWM.hmyTask.cmyTask.hmain.cmain.h平台&#xff1a;Code Composer Studio 10.4.0 MSP432P401R SimpleLink™ 微控制器 LaunchPad™ 开发套件 (MSP-EXP432P401R) API …