Nginx是一种高性能的HTTP和反向代理服务器,它具有强大的负载均衡功能。Nginx支持多种负载均衡策略,包括轮询、权重轮询、最少连接、IP哈希等。
1. 轮询(Round Robin)
轮询是Nginx的默认负载均衡方式,它将请求依次分配给每个后端服务器。
配置:
http {
upstream web {
server bash.lutixia.cn;
server acp.lutixia.cn;
server www.lutixia.cn;
}
server {
listen 80;
location / {
proxy_pass http://web;
}
}
}
2. 权重轮询(Weighted Round Robin)
在轮询基础上,权重轮询为每个服务器分配权重,根据权重值分配请求的比例。权重越高,分配的请求越多。
配置:
http {
upstream web {
server bash.lutixia.cn weight=3;
server acp.lutixia.cn weight=1;
server www.lutixia.cn weight=2;
}
server {
listen 80;
location / {
proxy_pass http://web;
}
}
}
3. 最少连接(Least Connections)
最少连接策略将请求分配给当前活动连接数最少的服务器。这对于长时间处理的请求非常有效,可以均衡服务器的负载。
配置:
http {
upstream web {
least_conn;
server bash.lutixia.cn;
server acp.lutixia.cn;
server www.lutixia.cn;
}
server {
listen 80;
location / {
proxy_pass http://web;
}
}
}
4. IP哈希(IP Hash)
IP哈希策略基于客户端IP地址,将相同IP地址的请求分配给同一台服务器。适用于需要会话保持的场景。
配置:
http {
upstream web {
ip_hash;
server bash.lutixia.cn;
server acp.lutixia.cn;
server www.lutixia.cn;
}
server {
listen 80;
location / {
proxy_pass http://web;
}
}
}
5. URL哈希(URL Hash)
URL哈希策略基于请求的URL,将相同URL的请求分配给同一台服务器。适用于缓存服务器以提高缓存命中率。
配置:
http {
upstream web {
hash $request_uri consistent;
server bash.lutixia.cn;
server acp.lutixia.cn;
server www.lutixia.cn;
}
server {
listen 80;
location / {
proxy_pass http://web;
}
}
}
6. 自定义健康检查
为确保请求只分配给健康的服务器,可以配置健康检查功能。
配置:
http {
upstream web {
server bash.lutixia.cn; max_fails=3 fail_timeout=30s;
server acp.lutixia.cn; max_fails=3 fail_timeout=30s;
server www.lutixia.cn; max_fails=3 fail_timeout=30s;
}
server {
listen 80;
location / {
proxy_pass http://web;
}
}
}
7. 根据响应时间均衡
需要编译模块nginx-upstream-fair。
8. 根据cookies均衡
需要编译模块nginx-sticky。
标签:lutixia,负载,http,cn,web,server,nginx,均衡,upstream From: https://blog.csdn.net/x465454816134318/article/details/139548041