问题描述

我最近把 WP 网站从共享主机切换到 VPS,并且想在这里记录这个过程。

最佳解决方法

将旧主机放在 read-only 模式下

  1. 转到 WP 管理 – > 设置 – > 讨论和检查 「用户必须注册并登录才能发表评论」

  2. 禁用认证:

在 wp-content /mu-plugins 文件夹中创建一个 PHP 文件,其中包含以下内容:

<?php
function wp_get_current_user() {
    return new WP_User(-1);
}

这将阻止所有 logged-in 用户在旧主机上留下评论或创建帖子。

将文件和数据库复制到新主机

我使用 FTP 传输文件和 phpMyAdmin 导出/导入数据库。

处理 DNS

  1. 将您的域指向新主机的 IP 地址。

  2. 等待繁殖发生。

一旦新的 DNS 设置已经完全传播,您可以调用旧的主机。

次佳解决方法

如果有人可以帮助我正确格式化,这是一个非常全面的指南。对不起,我现在没有时间找出格式化…

A. FTP-copy 所有主题和 wp /上传文件从 {old_site} 到 {new_site}

  1. 使用 FTP 客户端从 {old_site} 复制到本地机器上的临时文件夹

  2. 从临时文件夹复制到 {new_site}

B. 备份 (导出) 现有数据库 (来自 old_site)

  1. 登录到您的虚拟主机控制面板。点击你相当于 「Database admin」 。

  2. 在本地机器的临时文件夹中检查文件 wp-config.php,查找 DB_Host 和 DB_Name 。它们对应于 DreamHost Web 面板中的主机名和数据库值。

  3. 单击 「phpMyAdmin」 获取匹配的主机名。出现用户名和密码提示。

  4. 输入您的 MySQL 用户名和密码。出现 phpMyAdmin 用户界面。

  5. 在左窗格中,单击弹出菜单项 (数据库)…. 出现此服务器上的 MySQL 数据库列表。

  6. 从列表中选择要备份的数据库。有关该数据库的信息将显示在右窗格中。

  7. 在顶部的选项卡上,单击导出。将出现标有 「查看数据库的转储 (schema)」 的窗格。

  8. 在标记为”Export” 的列表下方,单击链接全选。所有的表名将被突出显示。

  9. 在下面的单选按钮中,确保选择了 SQL 。这将选择输出格式。

  10. 在标记为”Structure:” 的部分中,选中标记为 Structure:的框。在本节中,复选框标记为添加 AUTO_INCREMENT 值,并将表和字段名称与反引号括起来

  11. 在标记为”Data:” 的部分中,选中标记为 「数据」 的框。在本节中,复选框标记为二进制字段使用十六进制。如果要备份大型 (多大的???) 数据库,请取消选中扩展插入,因为恢复备份时,服务器可能不接受这么长的 SQL 命令。如果您打算将备份应用到具有不同结构的数据库 (例如,您应用了一个 mod 到 PhpBB) 或更新版本的 Web 应用程序,请检查完整插入,否则将其取消选中。保持其他框不变。

  12. 选中标记为另存为文件的框。

  13. 在标有 「文件名模板:」 的框中,填写您要备份文件的名称。 phpMyAdmin 扩展此字符串中的某些缩写:SERVER 扩展为服务器名称,DB 扩展为数据库名称,并按照 PHPs​​ strftime 函数的规则扩展像%Y%m%d 的字符串。

  14. 点击 Go 按钮。

  15. 将文件保存在本地机器上。

C. 创建新数据库

  1. 登录到您的虚拟主机控制面板。点击你相当于 「Database admin」 。

  2. 向下滚动到 「创建一个新的 MySQL 数据库」

  3. 输入数据库名称和主机名的新值。

  4. 创建新的用户名/密码值 (或 re-use 从原始的 wp-config.php 文件)

  5. 点击 「立即添加新数据库」 按钮。

  6. (可选) 等待创建新的主机名。

D. 恢复 (导入) 到新的数据库

  1. 登录到您的虚拟主机控制面板。点击 「My SQL Databases」 。

  2. 单击 「phpMyAdmin」 获取在步骤 3b 中创建的新数据库的匹配主机名。出现用户名和密码提示。

  3. 输入您的 MySQL 用户名和密码。出现 phpMyAdmin 用户界面。

  4. 在左窗格中,单击弹出菜单项 (数据库)…. 出现此服务器上的 MySQL 数据库列表。

  5. 选择您在步骤 3b 中创建的新数据库。

  6. 在顶部的标签上,点击导入。

  7. 在标有 「Fiile to Import」 的窗格中,单击 「Browse…」 按钮,然后选择在步骤 2 结尾导出的 sql 文件。保留其他框/值。

  8. 点击 Go 按钮。数据库应该被成功导入。

  9. 选择您在步骤 3b 中创建的新数据库。

  10. 从列表中,查找以 「wp」 开头的表名,并以 「_options」 结尾。

  11. 点击显示为浏览的小图标。

  12. 将打开一个屏幕,列出表格中的字段。

  13. 在字段 option_name 下,向下滚动并查找 siteurl 。

  14. 单击编辑字段图标,该图标通常位于行开头最左侧。

  15. 将显示 「编辑字段」 窗口。

  16. 在 option_value 的输入框中,仔细将 URL 信息更改为新地址。

  17. 验证这是否正确,然后单击开始以保存信息。

  18. 您应该返回到您的 wp-options 表。

  19. 查找表中的主页字段,然后单击编辑字段。注意 wp_options 中有几页表。寻找> 符号通过他们浏览。

  20. 在 option_value 的输入框中,仔细将 URL 信息更改为新地址。

  21. 验证这是否正确,然后单击开始以保存信息。

E. 新建 FTP 文件修改

  1. 删除文件夹 wp-content /缓存为 {new_site}

  2. 通过使用步骤 3b 和 3c 中的值更新字段来更新本地机器上的文件 「wp-config」:a 。 ‘DB_NAME’:数据库名称 b 。 ‘DB_USER’:用户名 c 。 ‘DB_PASSWORD’:密码 d 。 ‘DB_HOST’:服务器 MySql 在 e 上运行。确保将 TABLE_Prefix 更新为步骤 4j 中列出的相同值。

  3. 将更改的 wp-config.php 文件上传到 {new_site}

  4. (可选) 从本地计算机中删除临时文件夹

F. 更新

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。