如何设置 NGINX 负载均衡器

[ad_1]

NGINX 负载均衡器允许网站通过在一组后端服务器之间分配它们来处理高流量负载。 此外,负载平衡器充当反向代理并保护后端服务器免于暴露给公众。 以下是为您的网站设置 NGINX 负载均衡器的方法。

如何设置 NGINX 负载均衡器

这是如何设置 NGINX 负载均衡器的分步配置。 在 proxy_pass 和 upstream 指令的帮助下,设置 NGINX 负载平衡非常容易。

1.打开NGINX服务器配置文件

使用文本编辑器打开 NGINX 配置文件。

如果你使用的是NGINX的主配置文件nginx.conf,没有虚拟主机,那么打开终端,运行以下命令

$ sudo vi /etc/nginx/nginx.conf

如果您为您的网站(例如 www.website.com)配置了单独的虚拟主机,例如 /etc/nginx/sites-enabled/website.conf 然后使用以下命令打开其配置

$ sudo vi /etc/nginx/sites-enabled/website.conf

奖励阅读:如何在 NGINX 中将子文件夹重定向到子域

2. 设置 NGINX 负载均衡器

假设您在 IP 10.1.2.1、10.1.2.2、10.1.2.3 上有 3 个后端服务器,每个都在端口 80 上运行

所以首先我们添加一个 上游的 块内 http 块,用于这些后端服务器。

http{
...
  upstream backend {
    server 10.1.2.1;
    server 10.1.2.2;
    server 10.1.2.3;
 }
...
}

您可以随意命名这个上游块。 我们将其命名为后端

在这个上游块下方,我们需要通过引用 proxy_pass 指令中的上游块添加将请求定向到这些后端服务器的服务器块。

server {
    listen 80;
    server_name www.website.com;
    location / {
      proxy_pass https://backend;
    }
  }

将这两个块放在一起,这是您的 NGINX 负载均衡器配置设置。

奖励阅读:如何在 NGINX 中将子域重定向到文件夹

http {
  upstream myproject {
    server 10.1.2.1;
    server 10.1.2.2;
    server 10.1.2.3;
  }

  server {
    listen 80;
    server_name www.domain.com;
    location / {
      proxy_pass https://myproject;
    }
  }
}

默认情况下,NGINX 负载均衡器以循环方式在其后端服务器之间分配传入请求。 如果您希望将更多请求发送到特定后端服务器,您可以为其分配权重。 这是一个示例,其中第一个服务器获得的请求是其他后端服务器的 3 倍。

http{
...
  upstream backend {
    server 10.1.2.1 weight=3;
    server 10.1.2.2;
    server 10.1.2.3;
 }
...
}

同样,如果要更改负载均衡方法,可以在上游块的开头指定它,如下所示。

使用最少连接负载均衡方法

http{
...
  upstream backend {
    least_conn;
    server 10.1.2.1;
    server 10.1.2.2;
    server 10.1.2.3;
 }
...
}

使用 ip_hash 负载均衡方法

http{
...
  upstream backend {
    ip_hash;
    server 10.1.2.1;
    server 10.1.2.2;
    server 10.1.2.3;
 }
...
}

如果不指定任何方法,NGINX 将使用 循环算法.

奖励阅读:如何在 NGINX 中阻止 IP 地址

3.重启NGINX

最后,运行以下命令来检查更新的配置文件的语法。

$ sudo nginx -t

如果没有错误,请运行以下命令重新启动 NGINX 服务器。

$ sudo service nginx reload #debian/ubuntu
$ systemctl restart nginx #redhat/centos

就是这样! 希望以上教程能帮助您为您的网站设置 NGINX 负载均衡器。

CodePre 可以在几分钟内轻松可视化数据,并在实时仪表板中进行监控。 今天就试试吧!

[ad_2]

Related Posts