在CentOS上使用Nginx实现负载均衡,需通过配置upstream模块选择策略,常见策略及配置方式如下:
-
轮询(默认):按顺序分发请求,适用于服务器性能相近的场景。
upstream backend { server backend1.example.com; server backend2.example.com; } -
加权轮询:按权重比例分发请求,权重越高分配的请求越多,适合服务器性能差异大的场景。
upstream backend { server backend1.example.com weight=3; server backend2.example.com weight=2; } -
IP哈希:根据客户端IP地址的哈希值固定请求到同一服务器,适用于需要会话保持的场景(如登录状态)。
upstream backend { ip_hash; server backend1.example.com; server backend2.example.com; } -
最少连接:将请求分配给当前连接数最少的服务器,适合请求处理时间差异大的场景。
upstream backend { least_conn; server backend1.example.com; server backend2.example.com; } -
加权最少连接:结合权重和最少连接策略,优先选择连接少且权重高的服务器。
upstream backend { least_conn; server backend1.example.com weight=3; server backend2.example.com weight=2; }
配置步骤:
- 安装Nginx:
sudo yum install nginx。 - 编辑配置文件(如
/etc/nginx/nginx.conf),在http模块中定义upstream组及策略。 - 重启Nginx生效:
sudo systemctl restart nginx。
验证:通过访问Nginx服务器IP,观察请求是否按策略分发到后端服务器。