你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 WordPress 迁移到 Linux 上的应用服务

本文介绍如何将 WordPress 从 Windows 上的 Azure 应用服务或外部托管提供程序迁移到 Linux 上的应用服务。

注意

将内容迁移到测试实例,并验证所有方案。 如果一切按预期工作,请将此实例切换到生产环境。

可通过两种方式将站点迁移到 Azure 应用服务上的 WordPress:

使用 All-in-One WP Migration 插件迁移 WordPress

一次性的 WP 迁移和备份插件非常适用于轻松迁移站点。 对于小于 256 MB 的站点,建议使用此方法。 对于较大的站点,可以使用手动迁移过程中概述的步骤购买插件的高级版本手动迁移

默认情况下,应用服务 (Linux) 上的 WordPress 的文件上传大小限制为 50 MB,可将其增加到最大限制 256 MB。 若要更改文件上传限制,请在应用服务中添加以下 应用程序设置

应用程序设置 默认值 新值
UPLOAD_MAX_FILESIZE 50M 256M
POST_MAX_SIZE 128M 256M

重要说明

在源站点和目标站点上安装全能 WP 迁移和备份插件。

从源导出数据

  1. 登录到源站点的 WordPress 管理员仪表板。
  2. 打开一次性 WP 迁移和备份插件。
  3. 选择“ 导出”,然后将导出类型指定为 “文件”。
  4. 下载文件。

在目标处导入数据

  1. 登录到目标网站的 WordPress 管理员仪表板。
  2. 打开一次性 WP 迁移和备份插件。
  3. 选择 “导入”,然后选择 “文件 ”作为导入源。
  4. 上传上一节下载的文件,接着选择 “继续”
  5. 选择永久链接设置用于更新永久链接结构。 选择“保存更改”。
  6. 选择 “完成 ”以完成导入过程。

手动迁移过程

作为先决条件,必须使用 适当的 Linux 托管计划创建应用服务上的 WordPress 实例。

在源站点手动导出数据

注意

此操作可能需要几分钟时间,具体取决于内容的大小和 Internet 连接。

  1. 从源站点下载 wp-content 文件夹。 可以使用 FileZilla 等 FTP 工具连接到 Web 服务器并下载内容。

  2. 将源数据库的内容导出到 SQL 文件中。 可以使用 HeidiSQL、 MySQL workbenchphpMyAdmin 等 MySQL 客户端工具或使用命令行接口来执行此任务。 有关详细信息,请参阅 数据导出和导入向导

在目标站点手动导入数据

  1. 使用适用于 Linux 的应用服务模板创建新的 WordPress 应用

  2. 在边栏菜单上 的“开发工具” 下,选择 “SSH”。

    用于启动 SSH Web 控制台的按钮的屏幕截图。

  3. 使用以下命令删除 /home/site/wwwroot/wp-content 文件夹的现有内容。

    rm -rf /home/site/wwwroot/wp-content/* 
    
  4. 使用文件管理器上传 wp-content 文件夹的新内容。 选择显示“将文件/文件夹拖到此处上传,或单击以选择一个”的标签。

  5. 可以使用现有的 MySQL 数据库,也可以将内容迁移到由 Linux 上的应用服务创建的新 Azure MySQL 灵活服务器。

    注意

    Azure Database for MySQL - 单一服务器于 2024 年停用。 如果现有的 MySQL 数据库托管在 Azure Database for MySQL - 单一服务器上,请考虑使用以下步骤或 Azure 数据库迁移服务(DMS)迁移到 Azure Database for MySQL 灵活服务器。

  6. 如果迁移数据库,请将从源数据库下载的 SQL 文件导入到新创建的 WordPress 站点的数据库中。 可以通过 PhpMyAdmin 控制面板 <sitename>.azurewebsites.net/phpmyadmin进行操作。 如果无法使用单个大型 SQL 文件,请将文件分成多个部分,然后重试上传。 若要通过 phpMyAdmin 导入数据库,请参阅 “导入”。

  7. 在应用服务应用中,选择 “设置”,然后选择 “环境变量”。 在 “应用设置”下,使用源数据库名称更新 DATABASE_NAME 。 这会重启应用,并反映新的更改。 若要了解详细信息,请参阅 WordPress 应用程序设置

    应用程序设置 需要更新?
    Database_Name 是,替换为源(导出的)数据库名称
    DATABASE_HOST 不是必需
    DATABASE_USERNAME 不是必需
    DATABASE_PASSWORD 不是必需

    数据库应用程序设置的屏幕截图。

迁移后的操作

站点迁移后,应验证是否已激活默认的推荐插件或等效插件,并将其配置为以前。 如果只能按照组织管理策略配置它们,你可以卸载插件。

  • 应正确激活 W3TC 插件并将其配置为使用本地 Redis 缓存服务器和 Azure Blob 存储(如果它已配置为最初使用它们)。 如需了解更多信息,请参阅以下文章:

  • WP Smush 插件已激活并正确配置以进行图像优化。 有关详细信息,请参阅 WordPress 中的图像优化

建议使用以下 WordPress 设置。 但是,当用户迁移其自定义网站时,由他们决定是否使用这些设置。

  1. 打开 WordPress 管理员仪表板。
  2. 将永久链接结构设置为“日期和名称”,因为与使用“?p=123”格式的纯永久链接相比,它的性能更好。
  3. 在“注释”设置下,启用将注释分多页显示的选项。
  4. 显示摘要,而不是源中的完整帖子。

搜索并替换(路径和域)

用户在迁移过程中面临的一个常见问题是,其旧网站的某些内容使用绝对 URL 或路径而不是相对 URL。 要解决此问题,可使用搜索并替换等插件来更新数据库记录。

配置自定义域

若要使用自定义域配置网站,请参阅 “设置现有自定义域”。

迁移自定义域

将实时站点及其 DNS 域名迁移到应用服务时,该 DNS 名称已在提供实时流量。 可以通过将活动 DNS 名称绑定到应用来避免 DNS 解析停机,如 迁移现有域中所述。

更新 SSL 证书

如果站点配置了安全套接字层(SSL)证书,请按照 添加和管理 TLS/SSL 证书 来配置 SSL。