我有两台服务器,分别有 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文档以获取更多选项。