nginx 负载均衡的配置

1.准备工作。

准备三台虚拟机

nginx负载均衡器 192.168.0.204

两台nginx主机 192.168.0202/192.168.0.203

1.1 关闭防火墙

所有主机上关闭防火墙,仅部署测试用,具体配置请自行参考

  • systemctl stop firewalld
  • systemctl disable firewalld

1.2 所有主机安装nginx

  • yum install epel-release -y
  • yum install nginx -y

2.Nginx负载均衡的集中方式介绍

2.1 轮询

轮询方式是Nginx负载默认的方式,顾名思义,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动剔除,如下配置后轮训10001服务和10002服务。

  • upstream  cluster {
  •        server   192.168.0.202;
  •        server   192.168.0.203;
  • }

2.2 权重

指定每个服务的权重比例,weight和访问比率成正比,通常用于后端服务机器性能不统一,将性能好的分配权重高来发挥服务器最大性能,如下配置后10002服务的访问比率会是10001服务的二倍。

  • upstream  cluster {
  •        server   192.168.0.202 weight=1;
  •        server   192.168.0.203 weight=2;
  • }

2.3 iphash

每个请求都根据访问iphash结果分配,经过这样的处理,每个访客固定访问一个后端服务,如下配置(ip_hash可以和weight配合使用)。

  • upstream  cluster {
  •        ip_hash;
  •        server   192.168.0.202 weight=1;
  •        server   192.168.0.203 weight=2;
  • }

2.4 最少连接

将请求分配到连接数最少的服务上。

  • upstream  cluster {
  •        least_conn;
  •        server   192.168.0.202 weight=1;
  •        server   192.168.0.203 weight=2;
  • }

2.5 fair

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

  • upstream  cluster {
  •        server   192.168.0.202 weight=1;
  •        server   192.168.0.203 weight=2;
  •        fair;  
  • }

3.Nginx配置

以轮训为例,如下是nginx.conf完整代码。

  • worker_processes  1;
  • events {
  • worker_connections  1024;
  • }
  • http {
  •    upstream  cluster {
  •        server   192.168.0.202;
  •        server   192.168.0.203;
  •    }
  •  
  •    server {
  •        listen       10000;
  •        server_name  localhost;
  •  
  •        location / {
  •         proxy_pass http://cluster;
  •         proxy_redirect default;
  •       }
  •     }
  • }

4.测试

重启nginx,第一次访问192.168.0.204如图所示,

微信图片_20200404154222.png

在次访问如图所示

微信图片_20200404154231.png

如果要修改负载均衡算法修改对应upstream模块即可。

版权声明:
作者:超级管理员
链接: https://blog.apecloud.ltd/article/detail.html?id=74
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
/static/admin/img/weixin.jpg/static/admin/img/zfb.jpg
<<上一篇>
5 分钟完成 Nginx 直播服务部署(直播 + 分流 + 画面水印)
下一篇>>