Nginx 负载均衡 - 2 台服务器,2 个 IP,1 个域

Nginx 负载均衡 - 2 台服务器,2 个 IP,1 个域

我有两台服务器,分别有 2 个不同的 IP。它们都安装了 NginX,我希望针对一个特定域对它们之间的流量进行负载平衡。

服务器 1 - IP-1 - 1 域

服务器 2 - IP-2 - 域名丢失

如何为我希望自动平衡的唯一站点设置相应的 nginx 配置?我希望 Server1 始终提供服务,但当它宕机时,Server2 将提供相同的域名服务。我应该为要服务的 URL 分配什么 IP?IP-1 还是 IP-2?我需要第三个服务器作为网关吗?

提前致谢!

答案1

您将需要第三台服务器作为负载均衡器(指向您的主机名)。

这可能是另一个 nginx 服务器或更具体的负载均衡器代理服务器

如果你想使用 nginx 路径,请创建一个新的服务器并放入http类似这样的部分

upstream mywebsite {
    server 192.168.1.20:80;
    server 192.168.1.30:80 backup;
}

然后为您的网站创建一个虚拟主机并放入服务器部分

location / {
    proxy_pass http://mywebsite;
}

注意备份变量,它指定仅当主服务器关闭时才使用辅助服务器,因为默认情况下,请求使用加权循环平衡方法在服务器之间分配。

请务必查看ngx_http_upstream_module文档以获取更多选项。

相关内容