主题
负载均衡策略
Nginx 负载均衡通过将客户端请求分发到多个后端服务器,提高服务可用性、扩展性和性能。
一、upstream 块配置
nginx
upstream backend {
server 192.168.1.101;
server 192.168.1.102;
server 192.168.1.103;
}在 server/location 块中引用:
nginx
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}二、常用负载均衡策略
1. 轮询 (默认)
请求按顺序依次分配给每台服务器。
nginx
upstream backend {
server 192.168.1.101;
server 192.168.1.102;
server 192.168.1.103;
}2. 权重轮询
根据服务器权重分配请求,性能更强的服务器可以处理更多请求。
nginx
upstream backend {
server 192.168.1.101 weight=3;
server 192.168.1.102 weight=1;
}3. IP 哈希
同一客户端 IP 始终访问同一台服务器,适用于会话保持。
nginx
upstream backend {
ip_hash;
server 192.168.1.101;
server 192.168.1.102;
}4. 最少连接 (least_conn)
将请求分配给当前连接数最少的服务器,适合请求耗时不均匀的场景。
nginx
upstream backend {
least_conn;
server 192.168.1.101;
server 192.168.1.102;
}三、优化与健康检查
- 健康检查:使用
ngx_http_upstream_module或第三方模块检测后端健康 - 备用服务器:
server 192.168.1.104 backup;当主服务器不可用时接管请求 - 连接超时与重试:
proxy_connect_timeout,proxy_read_timeout,proxy_next_upstream - 日志分析:记录 upstream 请求状态,优化负载分配
通过合理配置 Nginx 负载均衡策略,可以提高网站高并发访问性能,实现高可用和稳定服务。