linux之nginx负载均衡的配置
2022-03-17Linux
linux之nginx负载均衡的配置
nginx 反向代理 负载均衡
软件负载均衡 lvs nginx haproxy
硬件负载均衡 f5 netscalar
反向代理就是后端服务不直接对外暴露,请求首先发送到 nginx,然后nginx 将请求转发到后端服务器,比如 tomcat php 等.如果后端服务只有一台服务器,nginx 在这里只有一个作用就是起到了代理后端服务接收请求的作用.称之为反向代理。
可是在现实的应用场景中,一台后端服务器出现单点故障的概率很大或者单台机器的吞吐量有限,无法承担过多请求。这时候就需要在 nginx 后端配置多台服务器,利用 nginx 内置的规则讲请求转发到后端不同的机器上,这时候就起到了负载均衡的作用。
nginx 的 upstream 目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。
2)、weight
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
upstream backend {
server IP地址;
server IP地址;
}
server {
location / {
proxy_pass http://backend;//反向代理,backend自定义
}
}
很赞哦! ()