我们已经在某个数据中心托管了一个网站。现在我们想将其更改为另一个数据中心。
迁移我的 Web 服务器的最佳方法是什么?更新 DNS 记录的正确方法是什么?此外,我的域名需要多长时间才能可靠地指向新的数据中心?
答案1
免责声明:我现在不想成为“那种人”,但是:如果这是一个重要的网站(例如,让你赚钱),请寻求一些专业帮助。
根据网站的类型,这可能是一个非常复杂的过程。最好的情况是,它是一个纯静态 HTML 网站。即便如此,您仍然需要配置 Web 服务器。如果它是一个动态网站,您需要配置数据库并确保环境包含网站所需的所有包。
此外,如果这是一个生产网站,您可能需要安排适当的停机时间。
好的,现在我已经解决了这个问题......
DNS 更改相对简单。你只需要更改一个记录指向新的 IP 地址。我们无法为您提供确切的说明,因为这取决于您的 DNS 提供商。但是,这是一个相当常见的任务,因此应该不难。
要记住的一件事是TTL(生存时间)您的域名的设置。这指定了您的域名的记录期限应该被缓存(我强调应该因为这取决于访问者的 DNS 解析器的实现)。在安排停机时间时,您应该牢记这一点。
要在 Linux/Mac/Unix 类系统中查找 TTL:
$ dig example.com
答案2
有一次,当我们将新的互联网连接引入数据中心时,我不得不为当时英国第四繁忙的电子商务网站做这件事。在切换之前的某个时间,我们将 A 记录的 TTL 降低到了 600 秒。我们还同意在未来一段时间内保持旧管道处于活动状态,因此我安装了一台旧台式机,在旧 IP 地址上运行存根 apache,只是为了记录发往旧网站的请求。我希望我保留了实际的 apache 日志,但我仍然对测试结果记忆犹新,它们是真实世界的数据,尽管已有数年历史。
许多请求在 600 秒内就停止了。
相当一部分(大约占我们流量的 10%)没有遵守。因此,当时我可以说,大约有 10% 的 ISP 没有遵守低至 600s 的 TTL。
48小时内几乎所有交通都停止了。
有些流量持续了长达 6 周的时间,然后我感到无聊并关闭了存根 Apache 盒子。
所以如果我有建议制作,编号一会重复 Beaming Mel-Bin 的话“寻求专业帮助”。二方法是确保你的整个应用程序在通过 IP 地址和域名访问时都能正常工作,并在你的旧 IP 地址上设置一个存根服务器,该服务器会逐页将 HTTP 重定向到新地址。数字三最好的办法是确保您的客户在迁移之前就了解迁移情况,这样您就不会接到大量关于“您的网站瘫痪了”的电话(这实际上意味着“我的 ISP 很便宜,而且会忽略 TTL 记录”)。号码四是在工作时间之外进行切换。
答案3
@dannymcc 这里有一个很好的建议。根据我的经验,以下是迁移网站的一种合适且合理的容错方法:
1)从旧数据中心备份设置(文件、设置、数据库等)
2) 将副本移至新主机。在新服务器上设置您的 Web 服务器,就像它已经使用实时域一样
3)在本地机器上对 hosts 文件进行硬编码,以便你的域名指向新服务器的 IP(请参阅http://www.techrepublic.com/article/keeping-your-sanity-with-etchosts/5033406对于 Linux,请参阅此页面上有关静态客户端的条目,对于 Windows,请参阅此页面上有关静态客户端的条目http://support.microsoft.com/kb/309642)
4) 一旦你确定你在本地机器上查看的是域的新服务器 - 即你强制本地计算机将域解析到新服务器 - 测试网站是否正常运行。提示 - 将一段文本硬编码到新服务器的页面中,如“这是新服务器”,这样你就可以绝对确定你正在查看正确的服务器
5) 确定新服务器已安装完毕,一切正常后,您就可以开始编辑域的区域条目(特别是 A 记录)。您可以使用 NSLOOKUP 命令查找名称服务器的位置。它们通常与您的域注册捆绑在一起,但对于高级设置,情况可能并非如此。通常情况下,您会获得某种基于 Web 的编辑器来更改这些内容 - 如果您需要通过命令行更新 BIND 之类的内容,我建议您找一位经验丰富的人来做这件事
6) 编辑您的网站 A 记录(或其他所需的记录),使其指向新服务器。DNS 需要一些时间来为所有人解析,在您确定每个人都被重定向之前,我建议保留两个副本(您可以检查旧 Web 服务器的服务器日志,看看它是否仍在接收大量流量)。很难说这需要多长时间,但我猜大概是 8-36 小时。
答案4
解析 DNS 通常需要 24-48 小时。如果您在这段时间内仍无法浏览您的网站,则需要联系您的注册人。:)