Nginx负载均衡配置实例分析

发布时间 - 2023-05-28 00:00:00    点击率:

【实现功能】

1、配置三台服务器

2、分别在三台服务器上部署同样的服务代码

3、使用nginx实现负载均衡

【实现思路】

我们的nginx负载均衡器将部署在一台交互服务器上,配置与其他两台服务器的连接,所有的请求直接访问nginx服务接口,然后nginx负载均衡器将自行选择真实调用的服务器端口。

【开发及部署环境】

开发环境:windows 7 x64 sp1 英文版

     visualstudio 2017

部署环境:阿里云 ecs实例 windows server 2012 x64

     iis 7.0

【所需技术】

asp.net webapi2

【实现过程】

使用asp.net webapi2 写一个简单地返回json的接口,为了展示我们调用的是不同服务器上的接口,我们以数字形式分别生成三个接口服务,并且分别部署到三台服务器的iis中。

public ihttpactionresult gettest()
    {
       //throw new exception_dg_internationalization(1001);
       string ip = request.getipaddressfromrequest();
       return ok("test api . client ip address is -> "+ip+" the server is ===== 333 =====");
     }

我部署的三台服务器后面的数字分别是 111,222,333

注:return ok是本人自定义的返回格式,具体简单代码可以直接return json();

request.getipaddressfromrequest();是本人扩展的获取ip地址的方法,具体实现请按自身情况实现。

【系统测试】

我们将三个后台代码生成后,分别部署到三个服务器上。

为了保密服务器信息,以下我的所有ip地址都将以ip_a,ip_b,ip_c来标识

第三个是我们将要部署nginx的服务器:

部署好后,我们进行nginx的配置:

下载nginx:

然后解压到ip_c服务器,并打开conf文件夹下的nginx.conf

编辑内容如下

然后我们启动服务:

cmd命令切换到nginx的根目录下

这样,服务就算启动了... 吐槽一句,为什么不提示一句服务启动成功呢..欸,不人性化!

然后我们打开任意一个接口测试工具,分别执行三次相同的请求:

请求一、

请求二、

请求三、

可以发现,我们每一次的请求,调用的后台服务接口都不是同一个,这样就保证了在大量客户访问同一个服务器地址时候,可以将一个服务器的压力分别分摊到几个服务器上,达到了负载均衡的目的。


# nginx  # asp.net  # json  # 接口  # .net  # windows  # visualstudio  # 负载均衡  # IIS  # 均衡器  # 器上  # 一句  # 的是  # 几个  # 一台  # 所需  # 达到了  # 可以直接 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 创业网站制作流程,创业网站可靠吗?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何在IIS中配置站点IP、端口及主机头?  Laravel如何处理文件下载请求?(Response示例)  如何在云主机上快速搭建网站?  如何在阿里云部署织梦网站?  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  如何快速搭建高效服务器建站系统?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Java类加载基本过程详细介绍  Laravel如何配置Horizon来管理队列?(安装和使用)  如何快速查询网站的真实建站时间?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  重庆市网站制作公司,重庆招聘网站哪个好?  python中快速进行多个字符替换的方法小结  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何在阿里云香港服务器快速搭建网站?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  深圳网站制作培训,深圳哪些招聘网站比较好?  EditPlus 正则表达式 实战(3)  制作电商网页,电商供应链怎么做?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  如何确保FTP站点访问权限与数据传输安全?  怎么用AI帮你设计一套个性化的手机App图标?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  如何在宝塔面板创建新站点?  Python文本处理实践_日志清洗解析【指导】  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  Python自动化办公教程_ExcelWordPDF批量处理案例  大型企业网站制作流程,做网站需要注册公司吗?  微信h5制作网站有哪些,免费微信H5页面制作工具?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  如何在IIS管理器中快速创建并配置网站?