nginx实现负载均衡主要使用到的是upstream属性
当前版本:
$ nginx -version
nginx version: nginx/1.17.9
首先我们配置一下nginx
http{
upstream localhost{
server localhost:8001 weight=1;
server localhost:8002 weight=2;
}
server {
listen 8000;
server_name localhost;
location / {
proxy_pass http://localhost;
proxy_redirect default;
}
}
}
这个时候,我们可以建立两个服务,一个由localhost:8001,另一个由localhost:8002启动。然后访问lcoalhost,我们就可以发现,大概会出现两次8002的页面。再出现一次8001页面。这样就形成了nginx服务的分发,也就是负载均衡。
upstream 参数解释:
upstream localhost{
iphash; // ip_hash指令能够将某个客户端IP的请求通过哈希算法定位到同一台后端服务器上,这样能够很好的保持session,但是这样,不能很好的保证负载均衡,最后使用session共享的方式保证session的可用
least_conn; // 检测连接数,然后将请求分发到连接数最少的服务器中
server localhost:8001 weight=1; // weight代表权重,数字越大权重越高,越容易被分发到
server localhost:8002 weight=2;
fair; // 根据响应时间来判断,响应时间短的优先连接
}