无需更改 IP 即可将网站迁移到新服务器

无需更改 IP 即可将网站迁移到新服务器

我有一台托管多个网站的服务器。

有时我会将网站迁移到第二台服务器上以获取最新的硬件和软件。

第二台服务器具有不同的 IP,这会导致出现问题,即任何不使用我的名称服务器(及其自动更新的 DNS 区域)的用户都必须手动更新 IP(例如,如果用户正在使用 cloudflare)

您能想到有什么方法可以更新我的硬件和软件而无需使用不同的 IP 吗?

答案1

有几种方法可以解决这个问题。您可以使用虚拟机来测试所有这些方法。

  1. 最简单的方法是使用 DNS。DNS 的创建就是为了隐藏您的 IP 发生的情况。IN CNAME用于所有网站(www.example-site1.com)和IN A主机(例如 myserver.example.com)。要进行迁移,请准备一个与旧服务器同步的新服务器。确保所有网站在新服务器上运行良好。用于rsync网页。如果您正在运行 MySQL,则在新服务器上创建一个 MySQL 从属服务器。在迁移期间,停止应用程序(apache、tomcat...),然后更改数据库的角色,以便新服务器成为 MySQL 主服务器。

  2. 您可以直接交换 IP,但必须小心。如果您有带外管理 (LOM、ILOM、BMC、IPMI),您的生活会更轻松。

  3. 您可以使用虚拟化,并可以停止旧的虚拟机并使用新的 IP 启动新的虚拟机。

  4. 您可以使用负载平衡器或反向代理(如 TheFiddlerWins 所建议的),它将保存您的公共 IP,并且在内部您将为 Web 服务器使用不同的 IP,并在负载平衡器/反向代理中进行交换。请参阅:http://www.apachetutor.org/admin/reverseproxieshttp://www.cisco.com/en/US/products/hw/contnetw/ps792/index.html

  5. 如果您有防火墙,您可以执行 DNAT 并动态“更改” IP。

答案2

您是否希望最终让它们指向新 IP?您可以 ProxyPass /oldpath http://newsiteIP/newpath/针对特定位置使用

或者直接重定向整个网站

<VirtualHost Oldsite:80>
    Redirect Permanent / http://newsiteIP/newpath/
</VirtualHost>`

这将为浏览器提供 303,只要人们解析旧 IP,您就可以更改“oldsite”的 DNS 以指向新位置(通过 IP)。最终每个人都会解析到新 IP(假设您更改了 DNS),然后您就可以将其从旧主机中完全删除。

相关内容