lnmp 实现负载均衡

48 篇文章 1 订阅

反向代理后台如果有多台服务器,则自然可以形成负载均衡

但proxy_pass只能如何指向多台服务器呢?

把多台服务器用nginx的属性upstream绑定在一起,并起个组名

然后用proxy_pass指向该组名即可实现负载均衡

开始:
一、在nginx的配置文件中新增两个虚拟主机,地址分别指向81和82端口,以下是示例:
在这里插入图片描述
二、用upstream把两台虚拟主机的地址绑在一起
在这里插入图片描述
图中imgserver为组名,upstream下的各服务器的配置项可到nginx.org官网查看upstream模块的使用方法和参数。上图参数中
weight 表示访问的权重,数值越大,访问越频繁.
max_fails 表示最大的访问次数,超过就代表链接彻底失败
fail_timeout 表示访问的超时时间是多少秒

三、用proxy_pass指定组名
在这里插入图片描述
以上配置的意思是(红色框框内),凡是碰到图片文件就自动将请求转发到imgserver内容的两台主机去处理

默认的负载均衡算法很简单,就是针对后端服务器的顺序逐个请求

当然也有其它的均衡算法,例如一致性哈希,需要安装第三方模块,如 ngx_http_upstream_consistent_hash

上面就是负载均衡的配置方法

配置过程中涉及到的知识点:
一、配置好两台虚拟主机后,如何生成对应的日志,如下图
在这里插入图片描述
二、负载均衡中会出现这种情况
1、在客户端(假设地址为192.168.101.100)向服务器(假设地址为192.168.101.200)请求图片文件的时候,由于ngin已经配置了负载均衡,因此nginx会将图片文件转发给配置的两台负载均衡服务器,此时这两台服务器的网址就会显示为后端服务器的IP,而不是真正的客户端IP。

那么,如何来解决这种问题呢?看下图
在这里插入图片描述
一般约定成熟的规定是,将客户端的头信息放在一个变量里面,这个变量就是X-Forwarded-For

END
以上就是负载均衡配置的全部内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值