前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx从陌生到入门04——反向代理&负载均衡

Nginx从陌生到入门04——反向代理&负载均衡

作者头像
huolong
发布2023-12-01 10:50:18
1780
发布2023-12-01 10:50:18
举报
文章被收录于专栏:技术指北

在上一节,写了nginx里的反向代理。这一节的内容是如果我反向代理了X台服务器,来实现负载均衡。话不多说我们进入正题

  • 如果我们反向代理配置一个机器,那么配置是这样的
代码语言:javascript
复制
server {
      listen       80;
      server_name  test3.aionlinefun.icu;

      location / {
          proxy_pass http://google.com;
          root    html/test;
          index  index.html index.htm;
      }
  }

现在我要配置多台机器,那么我们只需要在server同级 新增一个upstream代码块,如下所示。 http123 这个名字可以随便填写。后面的weight就是这2台服务器的权重,注意中间的空格以及分号结尾。然后我们在proxy_pass那里,引用 http123即可

代码语言:javascript
复制
upstream http123 {
server 服务器IP1:80 weight=5;
server 服务器IP2:80  weight=5;

}



 server {
  listen 80;
  server_name test3.aionlinefun.icu;

  location / {
      proxy_pass http://http123;
  }
}

配置好之后,我们重载nginx配置或者输入 systemctl restart nginx 重启nginx服务。

接着我们进行访问 test3.aionlinefun.icu 。因为权重配置的是一样的,所以是第一次请求就会到达服务器1,第二次请求就会到达一次服务器2,依次轮询。

若配置的weight 不一样,则会按照对应的权重进行轮询请求

以上就是负载均衡的第一种策略,可以根据服务器不同的性能进行分配。还可以在weight后面输入关键字 down,backup。若输入down则证明该台机器不参与负载,请求无法到该台机器。若输入backup,则当只有其他机器挂掉的时候,才会访问到这台机器。

代码语言:javascript
复制
upstream httpd {
server 127.0.0.1:8050  weight=10 down;
server 127.0.0.1:8060   weight=1;
server 127.0.0.1:8060   weight=1 backup;
}

● down:表示当前的server暂时不参与负载 ● weight:默认为1.weight越大,负载的权重就越大。 ● backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。

  • nginx还有很多种负载均衡策略,感兴趣的可以自己去试试。如下: ip_hash 根据客户端的ip地址转发同一台服务器,可以保持回话。 least_conn 最少连接访问 url_hash 根据用户访问的url定向转发请求 fair 根据后端服务器响应时间转发请求 创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年11月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档