S 公司是一家小型夫妻店托管公司,无法让我们的网站一次运行超过几周。他们建议我们找一个更好的托管公司。因此,我们将网站迁移到 CrystalTech,由其共享计划托管。我已经将网站迁移过来,它在 IP 地址上运行良好,但现在我需要迁移名称服务器,我该如何最大程度地减少停机时间
我的计划如下,如有错误,请指出:
- 周一,要求 S 公司将我们名下的 TTL 缩短到很小的数值,例如 1200
- 周五要求 S 公司更改其 DNS,将我们的域名指向 CrystalTech 的 IP 地址。仅限网络,不包括电子邮件。
- 同时使用网络解决方案将 ns 记录更改为 CrystalTech 的名称服务器
- 同时禁用 S 公司数据库,并将模板改为“抱歉,网站已迁移等等等等”
我希望这四个步骤能让所有人的过渡基本顺利进行,并且没有人会在超过 20 分钟的时间内看到“抱歉,网站已迁移”
这会让过渡尽可能顺利吗?我们没有像购物车这样对时间极为敏感的东西,但用户确实会登录网站并动态更新表单,因此同时出现在两个地方并不酷。
我们可以只对网站执行此操作吗?电子邮件是 Google AFYD 帐户,因此电子邮件运行良好,公司所有者坚持认为在网络迁移期间电子邮件不会出现任何停机时间。
请访问我关于如何迁移电子邮件的问题 https://superuser.com/questions/93012/how-to-change-web-host-and-have-minimal-downtime-for-email
答案1
我不会担心 TTL 阶段。
就我个人而言,我会这样做,只要按顺序进行,您就可以在同一天完成。
- 确保新主机正常运行(您已经说过它可以正常运行)。
- 在新主机上设置 DNS 记录,将所有 A 记录/Cname 指向新主机(或独立提供商 - 我喜欢一切域名)。还请设置任何其他条目,例如 MX 记录。*
- 从旧主机备份并导入到新主机/移动数据库,并将网站更改为具有元刷新标记为新站点的IP地址。
- 要求旧主机更改 DNS 以指向新主机。
- 要求旧主机更改名称服务器以指向新主机。
- 等待几天以确保所有缓存都已过期,然后您就可以删除旧帐户 - 但是,无论如何它几乎处于不活动状态。
*
在第 2 步之后,你可能需要等待 30 分钟 -真的需要,但如果主机有任何时髦的 DNS 故障转移或负载平衡,您可能需要给它时间来完成其工作!
只要您在切换名称服务器之前在新主机上的 DNS(步骤 2)中预先填充所有必填字段(例如,Google Apps For Your Domain 的 MX 记录),就不应该有停机时间,因为无论查询哪个 DNS 服务器,它都会从两者获得相同的结果。
答案2
那么,为 NEWIP 创建一个额外的子域名,让旧网站重定向到该子域名怎么样?根本不应该有停机时间:
- newandshiney.yourdomain.com 指向 NEWIP
- 您在 NEWIP 的网络服务器向 'newandshiney.yourdomain.com' 和 'yourdomain.com' 提供相同的内容
您创建一个 index.html @ OLDIP,其中包含类似“嘿,我们已移至新服务器。您将很快被重定向”的内容,并将类似以下内容放入 <head> 部分:
<meta http-equiv="Refresh" content="2; url=http://newandshiney.yourdomain.com/" />
您也可以在“url”语句中使用 NEWIP 而不是“newandshiney.yourdomain.com”,但这有点取决于新托管商的性质(虚拟域?)。
- 然后只需将 DNS 条目切换为 NEWIP。完成。
从 DNS 缓存中获取 OLDIP 的用户将访问新制作的重定向 index.html。获取 NEWIP 的用户则直接访问新服务器。
答案3
请注意,一些 ISP(包括 Cablevision)会忽略 TTL,并将您的 DNS 条目缓存长达数周。您可能希望让两个网站同时运行一段时间。