Nginx中怎么实现负载均衡

  介绍

Nginx中怎么实现负载均衡,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>上游支持4种负载均衡调度算法:

)轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器;

B) ip_hash:每个请求按访问IP的散列结果分配,同一个IP客户端固定访问一个后端服务器。可以保证来自同一IP的请求被打到固定的机器上,可以解决会话问题。

C) url_hash:按访问url的散列结果来分配请求,使每个url定向到同一个后端服务器。后台服务器为缓存的时候效率。

D)公平:这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配.Nginx本身是不支持公平的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块。

<强> 1,默认轮训

打开Nginx配置文件

[root@master  ~] #, vi /etc/Nginx/conf.d/违约。参看

写轮训配置

#设定负载均衡服务器列表   upstream  roundrobin  {   #后才能端服务器访问规则   ,server  192.168.1.115:8080 体重=1;,,# server1   ,server  192.168.1.131:8081 体重=1;,,# server1   ,server  192.168.1.94:8090 体重=1;,# server3   }   server  {   listen 才能;80;   server_name 才能;192.168.1.131;   的位置才能/,{   ,,,proxy_pass  http://roundrobin;   ,,}   }

配置完成后

//检查,nginx 配置是否正确   nginx  -t //重新加载,nginx 配置   service  nginx 重载

当访问http://192.168.131的时候,会把这个请求负载到192.168.1.115的8080端口,192.168.1.115的8080端口,192.168.1.115的8080端口。负载的权重由重量来决定,默认为1,重量越大,权重就越大。

<强> 2,基于哈希

#设定负载均衡服务器列表   upstream  roundrobin  {   #后才能端服务器访问规则   ,ip_hash;,,,,,,,, #添加参数支持哈希   ,server  192.168.1.115:8080 体重=1;,,# server1   ,server  192.168.1.131:8080 体重=1;,,# server1   ,server  192.168.1.94:8090 体重=1;,,# server3    }   server  {   listen 才能;80;   server_name 才能;192.168.1.131;   的位置才能/,{   ,,,proxy_pass  http://roundrobin;   ,,}   }

<>强设置后端负载均衡服务器的状态

,表示当前的服务器暂时不参与负载均衡。

备份,预留的备份机器。当其他所有的非备份机器出现故障或者忙的时候,才会请求备份机器,因此这台机器的压力最轻。

注意:备份不能和ip_hash同时配置。因为ip_hash只能访问同一台服务器,而备份是在只有所有参与负载均衡的服务器出现故障时,才会请求备份机。当所有负载均衡的服务器出现故障了,ip_hash的将无法请求了。

#设定负载均衡服务器列表   upstream  roundrobin  {   ,#后端服务器访问规则   ,server  192.168.1.115:8080 体重=1;,,# server1   ,server  192.168.1.131:8080 ;,,, # server2 不参与负载   ,server  192.168.1.94:8090 备份;,,,# server3 备份机,   }   server  {   listen 才能;80;   server_name 才能;192.168.1.131;   的位置才能/,{   ,,,proxy_pass  http://roundrobin;   ,,}   }

看完上述内容,你们掌握Nginx中怎么实现负载均衡的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

Nginx中怎么实现负载均衡