C#,用IIS和Nginx写一个简单的负载均衡(二)

接上一篇博客,上一篇成功解决nginx的启动问题
现在先发布网站
一切从简,选择.net asp 空网站
在这里插入图片描述

添加→web窗体
在这里插入图片描述
前台就这一段

    <div>
        服务器1
    </div>

然后新建三个文件夹,将网站发布到这三个文件夹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后将文件夹NGINX2和NGINX3的内容改成服务器2,服务器3以便区分

然后将这三个文件夹发布到IIS
在这里插入图片描述

接下来配置nginx.conf文件
这里有三个服务器,将worker_processes 1;改为worker_processes 3;

然后在server {…}前面加这一段,weight是权重,第一个服务器承担1/2的访问量
剩下两个服务器各承担1/4访问量,全改成1就是负载均衡
upstream ngintest{
server 10.167.66.17:8080 weight=2;
server 10.167.66.17:8082 weight=1;
server 10.167.66.17:8083 weight=1;
}

在这里插入图片描述

然后location / {}里面的内容改成这样,ngintest是上面upstream的名字

        location / {
            root   html;
            index  Default.aspx;
			proxy_pass         http://ngintest;
			
			proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header  X-Real-IP  $remote_addr;
			


        }

在这里插入图片描述
保存,重启nginx,在谷歌浏览器里运行http://127.0.0.1:70/default.aspx
不断刷新
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后,现在在IIS里把服务器1给关掉
在这里插入图片描述
接着刷新,会发生这样的状况,某一次刷新的时候,浏览器会卡顿,一直在加载,这是因为连接服务器1超时,大概过一分多钟之后,浏览器加载完毕,分流到2,3服务器.这是nginx默认有连接超时的时间,我们可以把连接超时的时间改短一点。
在配置文件里,加上这三句

			proxy_connect_timeout    1;
			proxy_read_timeout       1;
			proxy_send_timeout       1;

在这里插入图片描述
然后重启nginx,刷新浏览器,再次进入服务器1只会卡顿1秒左右,nginx就会判定连接超时,分流给其他服务器

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值