我的网站已经超出了共享托管帐户的承载能力,我已设置了一个 VPS,很快会迁移到该帐户。我无法在新帐户和旧帐户之间保持相同的 IP,而且我有点不知道如何在所有 DNS 缓存中反映新 IP 的同时最大程度地减少用户停机时间。请注意,我无法同时在两个帐户上运行该网站,因为这是一个约会网站,这会导致数据不一致。
以下是我计划做的事情:
- 在旧主机上放置“维护中”页面
- 在新主机上启动并运行网站,并更新域名以指向新主机。
- 希望停机时间不要太长。
在 (1) 中的页面上添加一个链接,使用新网站的 IP 来打开新网站,这是一个好主意吗?或者甚至将旧主机上的所有请求重定向到新主机(再次通过 IP)?
任何建议都非常感谢。
答案1
你可以做的一件事就是去现在并将域记录的缓存时间 (TTL) 减少到 10 分钟左右。这样,当您进行更改时,旧 IP 应该只会停留 10 分钟(如果您之前的 TTL 很长,则还要加上更改之前缓存的内容)。
除此之外,我唯一想说的是我会这样做:
- 使用数据库的旧副本在新主机上启动并运行网站进行测试(您可以使用主机文件手动设置主机名的 IP 来测试网站)
- (最好是在大多数用户所在的时区的凌晨 3 点左右)发布建设中的页面
- 将当前数据库复制到新主机并测试。
- 更新 DNS。
这将最大限度地减少停机时间和意外风险。
答案2
不要担心通过 IP 链接,它最终可能会让您的用户感到困惑。
说实话,听起来你已经计划好了,你唯一想做的就是提前向用户宣布计划的维护、迁移和停机时间。他们真的很感激,而且这会最大限度地减少用户向你发送的有关停机时间的电子邮件。
然后,尽快采取行动并更改 DNS。DNS 会跟上。通常最多只需 24 小时。
祝您好运,如果您还有其他疑虑,请告诉我们!
答案3
过去,我曾通过让旧主机透明地代理流量到新主机来增强 DNS 技巧。这样,访问旧 IP 的客户端仍将看到正确的内容。对于使用 Apachemod_proxy
或其他东西的 Web 服务器来说,这很容易实现。
答案4
DerfK 的 TTL 建议很好。
如果您只有一个主站点,并且它将在新的 IP 地址下提供服务,则您可以同时运行两个站点,但使用 IP 地址作为重定向目标将旧站点重定向到新站点。
Apache 中类似这样的情况
Redirect permanent / http://192.168.2.1/
看Apache 重定向文档了解有关如何重定向以及选择性地重写重定向位置的更多信息。