nginx 高可用性多备份服务器

wdebmtf2  于 2023-02-15  发布在  Nginx
关注(0)|答案(2)|浏览(149)

我有一个项目,需要有多个备份服务器。最好看看下面的拓扑:

因此,我们将有4个远程站点服务器,在主服务器关闭的情况下充当备份服务器。在正常情况下,设备将连接到删除站点服务器IP并通过它连接到主服务器。在主服务器关闭或从远程站点服务器到主服务器的链接失败的情况下,远程站点服务器将充当主服务器并开始提供服务。
我知道我可以通过使用Nginx和TCP使用proxy_pass来做到这一点,但我们有一个动态端口,例如。用户可以添加端口4500到服务器虚拟服务器,然后添加另一个端口45001供客户端访问。我现在确定如何使用Nginx来做到这一点。此外,我一直在寻找另一种解决方案,如keepalived或起搏器,但似乎他们只有像主备份机制,而不是主备份,备份,备份
有什么建议如何做到这一点?欣赏你的想法!

flvlnr44

flvlnr441#

只保存1你不需要4加上1你不需要10.1但是你需要1来表现得像10.1它会帮助你保存,这样你就可以添加更多的细节

dl5txlt9

dl5txlt92#

据我所知,你需要一些方法来改变服务器动态像服务器:3000,server3001等.如果是这样,你可以保存服务器列表在文本文件中,并使用反向代理使用服务器形式的serverfile.之后,你可以简单地更新serverlist文件更新服务器从你的代码.
例如:
1.在您选择的目录中创建一个名为servers.txt的文件,并按以下格式列出要使用的所有后端服务器:

server1.example.com
server2.example.com
server3.example.com
server3.example.com

1.在Nginx配置文件中,定义一个引用servers.txt文件的上游块,并指定相关的代理参数,如下所示:

http {
   upstream backend {
       server unix:/var/run/php-fpm.sock;
       include /path/to/servers.txt;
   }

   server {
       listen 80;
       server_name example.com;

       location / {
           proxy_pass http://backend;
       }
   }
}

为其他配置指定其他参数。
最后你可以根据你的需要改变servers.txt文件。但是我不知道你是否需要在每次更新server.txt文件时重新加载nginx服务器。

相关问题