我可以为一个网站使用两台不同的服务器吗?怎样做?

我可以为一个网站使用两台不同的服务器吗?怎样做?

是否可以为同一个站点使用两台(或更多)服务器,并拥有不同的数据?

例如,server1 有 page1.html,server2 有 page2.html,并且都可以从 访问它们www.site.com。这可能吗?

您认为这怎么可能呢?

嗯,每个 DNS 都指向一个特定的服务器,但我发现我可以指定几个服务器,如 NS1、NS2、NS3......

我正在尝试做什么?

我有一个基于 php 的现有网站,我想用 asp.net-mvc 扩展该网站。目前它们都安装在同一台服务器上,文件位于同一个虚拟目录中。我想将它们拆分到两个不同的服务器上。

服务器详细信息:

Windows server 2008 R2 和 Windows server 2008。

附言

有人可以重新标记这个问题吗?我不知道什么是正确的标签。谢谢。

答案1

您可以使用第 7 层负载均衡器来实现此目的(或使用不同数据中心中的一系列负载均衡器),它会将对特定 URL 模式的请求定向到适当的后端。

Varnish、Squid、Apache、Nginx、Lighttpd 都可以很好地处理这个问题。LVS 是 Linux 的一个软件负载平衡器(内核中),可以做到这一点http://www.linuxvirtualserver.org/ 也有商业产品可以处理这个问题。

DNS 不会按照您希望的方式将请求路由到正确的服务器。DNS 会将请求路由到最近的负载均衡器(如果您刚刚发布了每个均衡器 IP,则采用循环路由),然后均衡器会确定从哪个后端提供内容。

答案2

Microsoft NLB 将实现这一点。只需设置 2 个不同的 IIS 服务器,将它们放入 NLB 群集中,该群集在端口 80/443 上进行 50/50 分割,然后将每个网站的不同版本放在每个节点的 inetpub 上。配置您的 FQDN 以指向 NLB IP 地址,您将开始提供可通过导航到单个 URL 访问的 2 个网站版本。

请注意,这并不允许您选择要访问哪个节点,而是保证每个其他请求都将转到不同的服务器

答案3

我今天在生产中使用 Apache 中的反向代理模块执行此操作。ProxyPass 指令将允许根据传入的 URL 将请求传递到不同的后端服务器。

设置前端 Apache 服务器以监听 www.site.com,然后根据请求的 URL 将请求传递到两个后端服务器,即 server1 和 server2。通过 Google 搜索 Apache 反向代理,可以找到许多有关如何执行此操作的操作方法。

相关内容