nginx反向代理和负载均衡的实现
反向代理和负载均衡的关系可以理解为,一个ip的负载均衡就是反向代理。
反向代理使用的是:proxy_pass指令 负载均衡使用的是:proxy_pass指令+upstream指令
负载均衡的3中方式:
1、轮询,就是轮着来
2、权重,举个例子 A的权重设置为3,B的权重设置为5,那么A和B分别命中的概率为 3/(3+5) 和 5/(3+5)
3、ip_hash,这个功能是让同一个ip的请求,分发到相同的服务器上去,这个主要是针对有登录功能的页面,毕竟如果下一次请求到了别的服务器上去那么又要重新登录一边就很尴尬
反向代理:
location / {
proxy_pass http://192.168.1.1;
}
负载均衡:
upstream backend {
#ip_hash;
server 192.168.1.251;
server 192.168.1.252;
server 192.168.1.247;
}
server {
listen 80;
server_name trffweb;
location / {
proxy_pass http://backend;
}
}