如何将您的网站从一台主机迁移到另一台主机

已发表: 2022-07-05

您已准备好为您的 Magento 或 WordPress 网站迁移到托管主机。 您在 Nexcess 有一项新服务,但您如何真正实现飞跃?

继续阅读以了解如何将您的网站从一台主机迁移到另一台主机——在这种情况下,从 AWS 迁移到 Nexcess 完全托管的主机。

什么是迁移?

当我们说“服务器迁移”时,我们的意思是将关键数据从一台服务器复制或移动到另一台服务器,并配置该目标服务器以替换第一台服务器。 网络托管世界中的服务器迁移可能涉及设置网络服务器和数据库软件,复制网站及其配置,以及更改 DNS 以将访问者引导到该新服务器。

服务器迁移在服务器的生命周期中非常重要,可确保操作系统及其下的硬件与当前技术保持同步,节省和整合托管,或扩展和分发托管以帮助减少单点负载.

如何将您的网站迁移到 Nexcess:最简单的方法

Nexcess 的所有托管托管计划均免费提供端到端迁移支持。 如果您希望我们为您完成所有繁重的工作,请问! 您可以通过提供要转移的域的名称及其访问凭证来从 Nexcess 门户请求迁移。

在大多数情况下,迁移可以在一周或更短的时间内完成。 我们提供了在迁移数据最初同步后对其进行测试的机会,并要求您在迁移完成后更新 DNS。 这将使您的新主机生效。 除此之外,我们的专家拥有将您的网站准确复制到新家所需的一切。

在某些情况下,您可能希望执行自己的手动迁移。 例如,您可能有一个非常严格的离开旧主机的时间框架,并且不能排队等待下一位迁移技术人员可用。 或者,您可能只是希望拥有执行自己的迁移的经验。

无论是哪种情况,这些步骤都应该可以帮助您将您的网站从 AWS 或其他任何地方迁移到 Nexcess 完全托管的主机上。

如何手动迁移您的网站(适用于 WordPress 用户)

如果您使用 WordPress,将 CMS 迁移到 Nexcess Cloud 的一种简单方法是使用我们方便的迁移插件。 此插件安装在您的源站点上,并使用您从 Nexcess 控制面板提供的 FTP 凭据将所需的所有数据直接拉入目标主机帐户。

单击此处以获取有关如何迁移 WordPress 网站的详细说明。

如何通过 8 个步骤手动将网站从一台主机迁移到另一台主机

要试试吗? 以下是手动将文件和数据库从任何源供应商以及任何支持的 CMS 复制到 Nexcess Cloud 所需的步骤。

对于我们的示例,我们将从 AWS 迁移一个 Magento 站点。

1. 开始之前

迁移的核心是将站点文件和数据库复制到新站点,并更新 DNS 以将流量引导到新位置。 这需要从您的源(在本例中为 AWS)访问文件和数据库,并访问正确的位置以将这些文件和数据库放入 Nexcess。 您还需要一个程序来收集所有站点文件并将它们推送到 Nexcess 主机。

假设您使用 Lightsail 在 AWS 上安装 Magento 实例,您应该能够从 AWS 控制面板连接到您的实例,并使用浏览器中的终端窗口。

您的 Nexcess SFTP/SSH 凭证也位于您的计划仪表板中。 如果您之前从未在云帐户上连接过 SFTP/SSH,则需要生成一个新密码。 在安全的地方记录下来。

和以前一样,您需要找出当前站点的 DNS 托管在哪里。 这些是将您的域名转换为 IP 地址的记录,我们将在迁移结束时更新它们。 您通常可以通过查看 NS 记录来发现这一点。

2. 连接你的机器

现在您已经拥有两台机器的 SSH 凭据,它们需要相互连接才能传输数据。 有多种方法可以实现这一点,但最简单的方法是让源 (AWS) 机器直接与目标 (Nexcess) 机器对话。

您的 Nexcess Cloud 的 SSH shell 提供了多种工具来完成此任务,包括 rsync、ssh、lftp 和 scp。 我们将使用其中一些命令来完成我们的迁移。

首先,我们将 SSH 连接到 AWS 账户。 按照亚马逊的这些说明连接到您的服务器的基于 Web 的终端。

现在我们在源计算机上,我们可以使用计划仪表板中列出的单行 SSH 命令在目标服务器上获取 shell:

 ssh [email protected] “echo hello”

该字符串将询问您的 Nexcess 用户密码。 输入后,AWS 机器将连接到 Nexcess Cloud 服务器。 让它运行“echo hello”命令(将“hello”这个词打印到终端),然后退出 SSH 会话。 如果您看到“你好”,则说明您已成功通过身份验证,我们已准备好迁移!

3. 定位数据

假设您使用 Lightsail 的 Bitnami Magento 安装,您的 AWS 实例上的文件将位于 /opt/bitnami/magento/ 或 /opt/bitnami/apps/magento/htdocs/,具体取决于服务器的使用年限。

找到文档根目录后,您还需要获取数据库连接信息。 这可以从 Magento 配置文件中提取,如下所示:

Magento 1:

 grep -e username -e password -e dbname \ /opt/bitnami/apps/magento/htdocs/app/etc/local.xml

Magento 2:

 grep -e username -e password -e dbname \ /opt/bitnami/apps/magento/htdocs/app/etc/env.php

终端现在应该显示 Magento 数据库的用户名、密码和数据库名称。 您可以将这些与“mysql”命令行程序一起使用以进入您的数据库,并根据需要替换示例数据:

 mysql -u aws_username -p"aws_password" aws_dbname

现在,您可以输入“显示表格;” 并且 mysql 应该打印数据库上的表列表。 输入“退出;” 离开mysql命令行界面。

4. 复制数据

我们知道我们的数据在 AWS 上的位置,所以让我们将其放入 Nexcess Cloud。 所有这些命令都将在 AWS 终端上运行。 替换命令中的示例数据以适合您的安装。

首先,我们将在 Nexcess 服务器上创建一个临时目录:

 ssh [email protected] "mkdir migration"

接下来,我们将进行数据库转储并将其放入此文件夹中。 此命令通过将数据库转储中的输出直接放到目标服务器上来避免本地临时文件。

 mysqldump -u aws_username -p"aws_password" aws_dbname | ssh \ [email protected] "cat - > aws_dbname.sql"

最后,我们可以使用 rsync 将站点文件夹复制到新服务器:

 rsync -avHP /opt/bitnami/apps/magento/htdocs/ \ [email protected]:~/migration/

整个文档根目录的完整副本现在将到达迁移文件夹下的 Nexcess 服务器上。

5. 组织文件和数据库

现在已经创建了文档根和数据库副本,我们必须将它们分类到目标系统上的正确位置。 让我们先换出文件。 将您的 SSH 连接到目标服务器,再次使用仪表板中的单行命令,但这次来自您的计算机。 我们不再需要使用 AWS 服务器。 如果您使用的是 OSX、Linux 或 Windows 10,则应该已经从您的 shell 或命令提示符安装了 SSH 命令。

一旦我们连接到 Nexcess Cloud 环境,列出当前目录的内容,您将看到您的数据库 (aws_dbname.sql) 和站点文件文件夹 (migration)。

您的实时站点的文档根目录位于您的临时 Nexcess 域的文件夹下。 这个域看起来像“49deab9ef.nxcli.net”。 在这种情况下,我们的文档根目录是 49deab9ef.nxcli.net/html/。 我们首先将这个目录移开:

 mv ~/49deab9ef.nxcli.net/html ~/49deab9ef.nxcli.net/html.bak

...然后将我们的真实文档根移动到位:

 mv ~/migration ~/49deab9ef.nxcli.net/html

最后,我们将调整文件夹的权限,以确保 Web 服务器的安全:

 chmod 750 ~/49deab9ef.nxcli.net/html

现在文件已经到位,我们需要发现我们的 Nexcess 数据库凭据。 这些存储在旧的 CMS 配置文件中,所以我们再次使用“grep”来输出此信息(此处显示的是 Magento 2):

 grep -e username -e password -e dbname \ ~/49deab9ef.nxcli.net/html.bak/app/etc/env.php

将所有这些信息写在安全的地方; 我们将使用它来完成本教程的这一部分。 现在,让我们备份这个数据库,并用我们 AWS 服务器的数据库转储替换它:

 mysqldump -u nx_username -p"nx_password" \ nx_dbname > ~/49deab9ef.nxcli.net/old_database.sql mysql -u nx_username -p"nx_password" nx_dbname < ~/aws_dbname.sql

6. 配置数据库和 URL

还有一个步骤可以将文件和数据库连接在一起。 我们需要更改 Magento 的配置文件,以确保它使用 Nexcess 帐户的凭据。 使用 nano 打开文件,获取 AWS 数据库信息的所有实例,并将其替换为 Nexcess 数据库信息:

 nano ~/49deab9ef.nxcli.net/html/app/etc/env.php

编辑完文件后,按Ctrl+X退出,编辑器会提示你保存; 按“y”将文件写入磁盘。

除此之外,该站点需要配置为使用来自 Nexcess 的正确临时域名,类似于“49deab9ef.nxcli.net”。 对于 Magento,这是通过从 PHPMyAdmin 编辑数据库中的几行来完成的。 您可以通过 Nexcess 门户访问 PHPMyAdmin。

一旦我们在迁移站点的 PHPMyAdmin 中,我们应该看到我们复制的 Magento 数据。 我们想要导航到 core_config_data 表,并更改 web/unsecure/base_url 和 web/secure/base_url 行以匹配我们的临时域,根据需要不带和带 https。 按回车键保存这些更改,然后退出 PHPMyAdmin。

7. 测试你的数据

这应该结束数据的实际迁移。 我们现在只需要确保我们所做的工作有效。 这是迁移中最简单的部分。 只需在浏览器中导航到临时 Nexcess URL(例如 49deab9ef.nxcli.net)。

我们要做的第一件事是在管理面板中刷新 Magento 的缓存。 然后,像往常一样浏览您的网站,并确保您的所有内容都存在并且按预期工作。

8. 上线

如果到目前为止一切顺利,我们应该能够启动新服务器以将流量引导到 Nexcess。

在此之前,需要更新域的 DNS。 这是在您的域的当前名称服务器上完成的。 您可以在位于您的计划列表中的 my.nexcess.net 中找到您需要用于记录的 IP 地址。

更改 DNS 后,可以将 Nexcess 中的主域名更改为您的真实域名。 单击门户中域选项选项卡中的编辑按钮。 输入要更改的域,然后单击更新按钮。 这将自动搜索和替换数据库中旧域的实例,因此无需再次通过 PHPMyAdmin。

现在确保为该域启用 Let's Encrypt 很重要,以便自动安装 SSL 证书。

让它更容易

即使可以完成,迁移站点也不是一项简单或快速的任务。 谁有时间做这一切加上他们的日常工作? 在 Nexcess 的帮助下,把一件事情从你的盘子里拿走。

我们熟练的技术人员将开始为您的迁移工作,并在每一步都在那里。 凭借轻松的迁移、一流的支持和最划算的托管费用 — 这不仅是一个明智的选择,还是更好的选择。

准备好了解为什么 Better 是内置的吗?

立即探索我们完全托管的托管计划。

探索 Magento 计划探索 WordPress 计划

相关内容

  • 成功网站迁移的 5 个步骤
  • 云迁移:将站点迁移到云的分步指南
  • 让旧故事再次焕然一新:从 Magento 1 到 WooCommerce 迁移的故事
  • 向云托管服务提供商询问的 10 大问题
  • 什么是托管主机? 这个怎么运作