构buildnginx的冗余

这可能是一个愚蠢的问题,但经过Googlesearch了一会儿,我找不到答案,或者只是不知道该怎么去问。

我有一个名为“myserver1”的服务器上运行的Web应用程序。 我已经提出了一个相同的Web应用程序的实例“myserver2”,并build立两个盒子上的两个数据库之间的复制。 现在,我想使用nginx来做一些负载平衡,再加上一个服务器接pipe,如果其他龙骨结束。

大多数的nginx文档是围绕这样一个简单的场景编写的,但是似乎表明你把一个nginx服务器放在web服务器的前面。 这似乎是另一个单一的失败点。 你怎么让nginx本身冗余? 你可以在两个web服务器上运行nginx吗? 如果是这样,你在哪里指向myapp.mydomain.com的DNS条目?

编辑:我想我应该补充说,这是一个相对较小的用户群的内部应用程序。 我主要担心的是,如果我们的内部用户失去了服务器或与其中一个数据中心的连接,他们仍然可以做到。 我只是不能看到如何在nginx上做到这一点,而不会引入另一个单点故障。

在nginx中进行负载均衡的唯一方法是使用一个前端(反向代理)主机负载均衡后端服务器。

这个devise背后的想法/假设是负载只会发生在后端,而且您的单个入口点总是能够处理它应该处理的任何数量的stream量,因为它只是redirect而不会处理任何东西。

你所说的实际上是故障转移 ,而不是负载平衡 。 你关心的是你的单一入口点的失败。

正如@coding_hero解释的那样,这与nginx无关,它是在底层(OS /networking)处理的东西。

其中一种方法可能会在下面的页面上看到(虽然旧的例子说的是Debian oldstable,但命令可能需要清新一些): http : //linuxmanage.com/fast-failover-configuration-with-drbd-and- heartbeat-on-debian-squeeze.html 。 心跳是一个众所周知的技术,允许几个相同的服务器相互监视,select一个主人和故障转移到需要的奴隶。

你甚至有专门的networking硬件做相同的工作,通过重新路由(或者重新configuration路由器可以重新路由?)stream量到当前选定的主机。