三、netcore跨平台之 Linux配置nginx负载均衡
前面两章讲了netcore在linux上部署以及配置nginx,并让nginx代理webapi。
这一章主要讲如何配置负载均衡,有些步骤在前两章讲的很详细了,所以这一章我就不会一个个截图了。
因为本人只有一个服务器。所以我会在同一台服务器上部署两套差不多的实例。
同样的代码,我们在Program.cs进行了修改,如图所示:
这里我把原来的端口6666改成了8888

然后你可以改一改你的接口部分的代码,便于让你更好的看到效果。
这里把value1和value2改成value3和value4,这里是为了看到测试效果,在实际的开发中这里不用改。

然后发布和上传到服务器,如何发布和上传,我在第一章有讲到:https://www.cnblogs.com/dengbo/p/11878766.html
注意的是你同样的地方新建一个新的目录保存你新上传的程序,netcore是我第一章建立的,netcore1是新建的,
你把你新的发布包放在netcore即可。如图:

上传结束后,在这个目录中运行你的程序,输入下面的命令
dotnet WebApiTest.dll --server.urls "http://*:8888"
如图所示

然后去看看你的接口是否正常

好了,这里的准备工作完成了,下面我们进入到nginx的配置的目录中
输入下面的命令:
cd /usr/local/nginx/conf
然后对文件进行编辑
vim nginx.conf

我们需要在这里修改一下配置。
在如图的server的平级添加如下的代码
upstream NgWebApi {
server localhost:;
server localhost:;
}
上面的 NgWebApi是随意写的名称,不要纠结这里。
然后在修改 proxy_pass后面的内容:
proxy_pass http://NgWebApi;
最终的结果如下:

这样你就修改完成,输入:wq退出并保存即可。
最后检查并重启nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
最后不要忘记把你的8888端口的webapi启动一下。
这里我务必要提醒你,请进入到你的程序的目录中执行这段代码,
cd /root/netcore1
dotnet WebApiTest.dll --server.urls "http://*:8888"
启动如下:

好了,配置结束了,下面我们来测试下
还是昨天的那个网站进行测试 https://www.sojson.com/httpRequest/

多次发送请求会出现下面的响应

看到上面两个请求,就说明你配置成功了,是不是很简单。
上面这种配置,系统会采用默认的轮询访问不同的端口,nginx作为强大的反向代理,强大的远远不止这里
下面简单讲讲分发策略。
1)、轮询 ——轮流处理请求(这是系统默认的)
每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除它,剩下的继续轮询,如果您的服务器都差不多,建议这个。
2)、权重 ——谁的设置的大,谁就承担大部分的请求
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况,有时候你买的服务器可能参差不齐,有的性能强大
有的一般,你可以通过设置权重,把服务器性能强大权重设置大一点,这样可以合理分配压力。
3)、ip_哈希算法
每一次的请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。
关于权重的策略,如下图示的 你只要加一个 weight=6 即可这里不一定是6,是整数都行。

然后保存即可
这里不要忘记重启nginx,以及运行8888端口的程序了,如果你不会,可以看前面的部分
最后我们看看效果
结果和上面的测试结果差不多,唯一不同的是出现下面这个结果的次数要大于另外一个的。

到这里就结束了,感谢观看。
三、netcore跨平台之 Linux配置nginx负载均衡的更多相关文章
- Linux配置Nginx负载均衡
nginx配置负载均衡其实很简单,一直还以为负载均衡是个很高端人士玩的 首先先了解下负载均衡,假设一个场景,如果有1000个客户同时访问你服务器时,而你只有一台服务器的Nginx,且只有一个MySQL ...
- Linux之nginx负载均衡
Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...
- 配置nginx负载均衡
配置nginx负载均衡 执行命令:vi /usr/local/nginx/sbin/nginx/conf/nginx.conf 修改为: worker_processes 2; events { ...
- Linux centosVMware Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl
一.Nginx负载均衡 vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内容 upstream qq_com { ip_hash; 同一个用户始终保持 ...
- Nginx系列篇二:linux搭建Nginx负载均衡
建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...
- 如何配置nginx负载均衡配置(轮询,权重,ip绑定)
集群是为了解决单节点无法服务高并发的情况,在集群中nginx是如何分配将来自客户端的请求 转发给服务器的 负载均衡可以提高网站的吞吐量(接受和响应),减轻单台服务器的压力 负载均衡提供了三种策略:轮询 ...
- Linux搭建nginx负载均衡(两台服务器之间)
负载均衡种类 第一种:通过硬件负载解决,常见的有NetScaler.F5.Radware和Array等商用的负载均衡器,价格比较昂贵 第二种:通过软件负载解决,常见的软件有LVS.Nginx.apac ...
- 【转贴】Linux系统NGINX负载均衡404错误处理方法
NGINX负载均衡404错误处理方法 使用NGINX 实现负载均衡,但一组服务器的数据不是实施同步,主服务器有了数据要过段时间才同步到其他服务器 upstream image.stream.com ...
- linux下nginx负载均衡部署
nginx负载均衡部署 Nginx("engine x") 是一个高性能的 HTTP 和 反向代理 server,也是一个 IMAP/POP3/SMTP 代理server. Ngi ...
随机推荐
- vc++中字符串的免杀
一:格式字符: http://baike.baidu.com/view/2194593.htm d:以十进制形式输出带符号整数(正数不输出符号)o:以八进制形式输出无符号整数(不输出前缀o)x:以十六 ...
- VBS 去除文件夹下 Excel 的公式
注意问题 window 环境下运行, 代码 ANSI 编码格式保存. 直接放到需要转换的文件夹下,双击运行. 代码 function getfolder() getfolder=left(wscrip ...
- PHP array_unique
1.函数的作用:移除数组中重复的值 2.函数的参数: @params array $array @params int $sort_flag SORT_REGULAR : 通常方法比较(不改变类型) ...
- POJ 3020 Antenna Placement(二分图 匈牙利算法)
题目网址: http://poj.org/problem?id=3020 题意: 用椭圆形去覆盖给出所有环(即图上的小圆点),有两种类型的椭圆形,左右朝向和上下朝向的,一个椭圆形最多可以覆盖相邻的两 ...
- CentOS6.5下搭建FTP服务
一.FTP协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一.FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FT ...
- 可实现的全局唯一有序ID生成策略
在博客园搜素全局唯一有序ID,罗列出来的文章大致讲述了以下几个问题,常见的生成全局唯一id的常见方法 :使用数据库自动增长序列实现 : 使用UUID实现: 使用redis实现: 使用Twitter的 ...
- 研究了3天,终于将 Shader 移植到 Cocos Creator 2.2.0 上了!
预览 扫光特效-Fluxay2 马赛克像素特效-Mosaic 过渡效果-Transfer Shawn 花了3天时间,研究了Cocos Creator 2.2.0 的 Effect 语法,终于在1024 ...
- Topaz ReMask 5抠图神器
Topaz ReMask 5抠图神器 与Photoshop相比,ReMask不需要繁琐的刷子工作来获得高质量的面膜.您只需粗略勾勒出主题并按"计算"即可. 在Photoshop中制 ...
- leetcode 刷500道题,笔试/面试稳过吗?谈一谈这些年来算法的学习
想要学习算法.应付笔试或者应付面试手撕算法题,相信大部分人都会去刷 Leetcode,有读者问?如果我在 leetcode 坚持刷它个 500 道题,以后笔试/面试稳吗? 这里我说下我的个人看法,我认 ...
- 《HTML5+CSS3+JavaScript 从入门到精通(标准版)》学习笔记(一)
以下是以代码形式书写的笔记,本系列会持续更新,主要内容预计是类似下文的笔记,兼或一些思考与小项目,希望对你会有所帮助 1 <!-- --> <!DOCTYPE html>< ...