将活跃的生产 wordpress 网站从共享主机迁移到 VPS 的步骤是什么

将活跃的生产 wordpress 网站从共享主机迁移到 VPS 的步骤是什么

我的一位客户有一个相当繁忙的基于 WordPress 的在线商店和博客。现在是时候将其从共享主机转移到 VPS 了。

我花了一些时间从 Ubuntu 映像手动设置 VPS 并添加以下内容:

  • Nginx
  • MySQL
  • PHP-FPM
  • PHPMyAdmin
  • 发送邮件

(我跟着本指南如果你需要了解我如何去做的细节)

我在服务器上设置了一个 vhost,该服务器配置为当前活动站点的域。我预计,如果我将域的 DNS 记录更改为指向 VPS,它就会顺利地自动指向它。

我期望迁移数据库是从生产站点下载并使用 phpmyadmin 将其上传到 VPS 的情况。

然后我听说最好编辑共享主机上的 wp-config 文件以使用 VPS 上的数据库,这样任何更新都将保存在新数据库中。

下一步是复制 public_html 文件夹的内容并上传到 VPS。然后在 VPS 上编辑 wp-config 以使用本地数据库,最后编辑 DNS 设置。

以下是我的担心/疑问:

  • 我如何确保当我进行 2 个主要更改时:更改使用的数据库和更改域的 DNS 记录,一切都会正常进行。没有办法测试它是否有效,除非尝试,并且可能会导致严重的停机时间。
  • 该网站严重依赖电子邮件来确认电子商务订单并通知用户。我在 VPS 上安装了 sendmail,但没有域名,我似乎无法测试电子邮件传递,因为没有可用的 FQDN - 来自服务器的所有电子邮件要么无法发送,要么在到达目的地之前就被垃圾邮件过滤器捕获(我不知道)。只要网站正常运行或发生灾难,电子邮件就必须正常工作。电子邮件将始终来自 mydomain.com,但不知道如何配置 sendmail 以在有或没有 FQDN 的情况下可靠地发送电子邮件。

我知道这有点开放式,但如果有人能至少就上述两点为我指明正确的方向,我将不胜感激。

答案1

第一步是减少域的所有 DNS 设置的 TTL。

使用 VPS 数据库并不是一个坏主意,但是你必须测试这个新的 WP 实例是否真的有效。

为了确保您的 wordpress 连接到远程数据库,请使用 VPS 的 IP,并确保可以从机器外部访问 SQL 用户(防火墙和 SQL 设置)。

如果您担心测试,请为指向 VPS 的子域创建 DNS 记录,并更改该数据库的数据库设置(未连接到实时站点)以使用开发 URL。

看到您已经设置了一个全新的网络服务器而没有测试它是否真的有效,我建议您首先通过上传安装实时站点的克隆并将其更改为在临时 URL 上运行来测试服务器(如前所述)。

查看实时网站是否是网上商店时,另一件可能重要的事情是检查您的许可证是否也适用于新的 IP。

答案2

在按下大开关之前,你要确保一切正常:)

测试新安装的 Wordpress 的一个快速简便的方法是向您自己的台式机/笔记本电脑上的 hosts 文件添加一个条目。即,将实时站点域指向新 Wordpress 设置的 IP。这样,您可以在自己的系统上进行尽可能多的测试,而不会影响其他人。

Wordpress 需要“站点地址”数据库设置正确,否则会出现异常。如果您使用上面的 hosts 文件技巧,则可以将其设置为“生产”设置并进行测试。上线时无需更改。而如果您在测试域上设置站点,则上线时需要进行另一项更改。

我还遇到过一些插件不能很好地重新定位,当 site_url 更改时可能需要重新安装。所以,要小心这一点。

在数据库方面,我建议,作为试验,计算从旧服务器转储数据库、将其复制到新服务器并导入数据库所需的时间。如果您有一个大型数据库,导入可能是耗时最长的步骤。然后,您需要花费这段时间,将 DNS 记录的 TTL 添加到其中,并计算更改它们所需的时间,以得出迁移所需的总时间。这段时间是否足够长,以至于旧网站上可能会有大量活动?即,是否有人在旧网站上下了订单,而现在新网站上却没有了?通常,避免这种情况的一种方法是设置新旧数据库之间的数据库复制,尽管共享主机设置可能不允许您这样做。您应该考虑有一个实际的适当的计划停机时间窗口,这样您就不会丢失迁移期间创建的任何用户/客户数据。

至于电子邮件,您需要检查以下几点:

  • 新服务器在 HELO 中自称什么?应该是类似 mail.yourdomain.com 的内容。应该有一个 A 记录,并且它应该指向正确的 IP 地址。还应该有一个相应的 PTR 记录。
  • 您的 IP 是否在任何常见的垃圾邮件列表中?例如,垃圾邮件屋
  • 你有SPF 记录设置新邮件程序?

祝你好运! :)

相关内容