参考文档:https://zhuanlan.zhihu.com/p/416911252
其实Nginx的负载均衡原理很简单,上一篇我在自己写的Nginx部署的博文里把Nginx做了一些简单配置之后,对“负载均衡”的概念就很好理解了。
假如现在是一个访问高峰期,一个服务器顶不住了,你不得不多买了一些服务器来部署自己的项目,(其实就相当于一个集群)接下来怎么让访问流量映射到这些服务器呢?就靠反向代理+负载均衡。
如下代码示例,访问请求全部被拦截到集群配置里,由upstream
配置权重和服务器路径,这样访问来的请求就会被“负载均衡”了。
// nginx.conf
{
// 负载均衡
upstream testUpStream{
// 配置不同的服务器,以及权重之类的,访问服务器时会经由下方的反向代理找到这个负载均衡对应的服务器
server 127.0.0.1:3000 weight=1; // 机器1
server 127.0.0.1:3000 weight=1; // 机器2
}
// 反向代理
server{
listen 80;
// server_name localhost;
// 代理配置
proxy_pass http://testUpStream
}
}