Nginx负载均衡配置

Nginx支持以下三种负载均衡机制
循环 - 对应用程序服务器的请求以循环方式分发,
最少连接数 - 将下一个请求分配给活动连接数最少的服务器
ip-hash - 哈希函数用于确定下一个请求(基于客户端的IP地址)应该选择哪个服务器
1. 默认负载平衡配置
在下面的代码中,在srv1、srv2、srv3上运行相同应用程序的3个实例。如果没有专门配置负载均衡方法,则默认为循环法。所有请求都被 代理到服务器组shsxt,并且nginx应用HTTP负载平衡来分发请求。

http {
upstream shsxt{
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}

server {
listen 80;
server_name localhost;
location / {
proxy_pass http://test;
}
}
}
2. 加权负载均衡
通过使用服务器权重,还可以进一步影响nginx负载均衡算法,谁的权重越大,分发到的请求就越多。这个意思跟比例的概念差不多。

upstream shsxt {
server srv1.example.com weight=3;
server srv2.example.com;
server srv3.example.com;
}
3. 最少连接负载平衡
在连接负载最少的情况下,nginx会尽量避免将过多的请求分发给繁忙的应用程序服务器,而是将新请求分发给不太繁忙的服务器,避免服务器过载。

upstream shsxt {
least_conn;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
4. ip-hash负载平衡机制
使用ip-hash,客户端的IP地址将用作散列键,以确定应该为客户端的请求选择服务器组中的哪台服务器。此方法可确保来自同一客户端的请求将始终定向到同一台服务器,除非此服务器不可用

upstream shsxt{
ip_hash;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
netstat -natp
接下来聊聊Nginx的访问控制
Nginx还可以对IP的访问进行控制,allow代表允许,deny代表禁止

location / {
deny 192.168.78.1;
allow 192.168.78.0/24;
allow 10.1.1.0/16;
allow 192.168.1.0/32;
deny all;
proxy_pass http://test;
}
从上到下的顺序,匹配到了便跳出。如上的例子先禁止了192.168.78.1,接下来允许了3个网段,其中包含了一个ipv6,最后未匹配的IP全部禁止访问
————————————————
版权声明:本文为CSDN博主「我是一名程序猿」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baidu_35901646/article/details/81479649

声明:本站内容来源于原创和互联网,尊重作者版权,转载请注明来源网址,欢迎收藏,谢谢!