基本上我有一个简单的免费主机(000webhost.com),我以前经常使用。现在我有自己的机器来托管网站。但是,当我在那台机器上更新内容时,或者任何可能导致计算机暂时停机的事情发生时,我希望另一台主机能够托管网站,直到第一台主机恢复运行。
在我的新托管计算机上,我使用 Ubuntu 服务器,使用 lamp 堆栈(apache、mysql、php),并且使用 wordpress。
答案1
您说的是网络负载平衡设置,即两台机器以循环方式使用共享虚拟 IP。当其中一台机器发生故障时,NLB 会停止将呼叫路由到该机器,而另一台机器将接收所有请求,直到第一台机器恢复运行。
NLB 的问题在于,它不会强制两台服务器之间的同步,它只是一个交通警察。因此,您需要其他安排来确保您的内容在两个系统之间同步。NLB 通常用于两台或多台(我们使用五台一组)Web 服务器,这些服务器在所有意图和目的上都配置相同。
在我看来,您使用的安排(在本地托管和在租用的远程系统上托管)有点落后。我建议您将所有“生产”内容推送到网络主机,并仅将本地系统用于开发和测试。
答案2
最简单的解决方案就是更改 DNS,使其指向新网站
答案3
根据这个问题,我认为很明显,OP 明确希望在服务器关闭时打开/关闭此功能(启动时,接收流量,关闭时,指向其他地方),并立即获得结果。
这不可能实现。
如果计算机宕机,则托管的所有内容也会宕机。如果计算机宕机,则您无法从该计算机运行任何转发脚本,这意味着唯一的方法是在注册商的站点(注册域名的地方)上尝试获取服务器响应,并在出现错误时转发到不同的 IP。
我认为更新 DNS 记录不会起作用,因为通常它需要长达 72 小时才能传播,而 OP 说这只是在机器“暂时”停机期间。
答案4
有一种技术叫做 Web 服务器集群,就像谷歌、Facebook、微软一样,我相信他们有很多相同的服务器来服务整个互联网请求。其中一台服务器无法满足整个网络社区的需求。
例如,Facebook.com 有多个指向不同 IP 地址的 ipaddress(A 记录)。
但我不确定它是如何设置的。