欢迎来到代码驿站!

Nginx

当前位置:首页 > 服务器 > Nginx

Nginx实现集群的负载均衡配置过程解析

时间:2021-04-05 10:12:20|栏目:Nginx|点击:

Nginx 的负载均衡功能,其实实际上和 nginx 的代理是同一个功能,只是把代理一台机器改为多台机器而已。 Nginx 的负载均衡和 lvs 相比,nginx属于更高级的应用层,不牵扯到 ip 和内核的修改,它只是单纯地把用户的请求转发到后面的机器上。这就意味着,后端的 RS 不需要配置公网。

一、实验环境

Nginx 调度器 (public 172.16.254.200 privite 192.168.0.48)
RS1只有内网IP (192.168.0.18)
RS2只有外网IP (192.168.0.28)

二、配置文件

在nginx调度器上编辑配置文件

# vim /usr/local/nginx/conf/vhosts/lb.conf

添加如下内容:

upstream test {
  ip_hash;
  server 192.168.0.18;
  server 192.168.0.28;
}
server {
  listen 80;150
  server_name www.aminglinux.com;
  location / {
    proxy_pass http://test/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  } 
}

三、配置说明

你会发现这个配置和我们之前讲的 nginx 代理配置如出一辙,只是多了一个upstream,这个 upstream 用来定义后端的 RS,可以只写一个。 ip_hash 为 nginx 的一种调度算法,加上这一行后会达到这样的效果,即一个用户的请求会适中被分发到固定的一个 RS上。这样的好处是,可以避免把同一个用户的请求分发到不同的机器上而导致 session 丢失的情况。 upstream 里面, RS 后面的 ip 后面还可以加权重,比如"server 192.168.31.100 weight=100;"。还有一点要注意, upstream 后面的 test 是自定义的一个名字,可以随便写,唯一的要求是要和 proxy_pass 后面保持一致。

上一篇:nginx location优先级的深入讲解

栏    目:Nginx

下一篇:Nginx 过滤静态资源文件的访问日志的实现

本文标题:Nginx实现集群的负载均衡配置过程解析

本文地址:http://www.codeinn.net/misctech/95246.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有