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

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

本文介绍了将 WordPress 从 Windows 上的应用服务或外部托管提供程序迁移到 Linux 上的应用服务的两种方法。

注意

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

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

  1. WordPress 插件:All-In-One WP Migration
  2. 手动迁移过程

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

此插件因轻松迁移站点而受到欢迎。 对于小于 256MB 的站点,建议使用此方法。 如果站点较大,可购买高级版本的插件,或者使用手动迁移过程中概述的步骤进行手动迁移。

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

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

重要

在源站点和目标站点上安装 All-In-One Migration 插件。

在源站点导出数据

  1. 启动“WordPress 管理员”页面。
  2. 打开 All-In-One WP Migration 插件。
  3. 单击“导出”选项并将导出类型指定为文件。
  4. 下载捆绑包。

在目标站点导入数据

  1. 启动“WordPress 管理员”页面
  2. 打开 All-In-One WP Migration 插件
  3. 单击目标站点上的“导入”选项,然后上传在上一部分中下载的文件
  4. 清空 W3TC 插件中的缓存(或任何其他缓存),并验证站点的内容。
    • 单击管理面板左侧边栏中提供的“性能”选项,打开 W3TC 插件。
    • 然后,单击其下方显示的“仪表板”选项。
    • 在仪表板上,你将看到一个带有“清空所有缓存”标签的按钮。

手动迁移过程

先决条件是 Linux Azure 应用服务上的 WordPress 必须使用此处的适当托管计划创建:Linux 应用服务上的 WordPress

在源站点手动导出数据

注意

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

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

  2. 将源数据库的内容导出到 SQL 文件中。 可以使用 MySQL 客户端工具(如 HeidiSQL、MySQL workbenchPhpMyAdmin)或通过命令行界面执行此任务。 有关导出数据库的详细信息,请参阅以下文档

在目标站点手动导入数据

  1. 使用 Linux 应用服务上的 WordPress 模板创建一个新的 WordPress 应用

  2. 从 Azure 门户使用 WebSSH 打开 SSH 会话。 Web SSH

  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 年 9 月 16 日停用。 如果现有 MySQL 数据库托管在 Azure Database for MySQL 单一服务器上,请考虑按照以下步骤或使用 Azure 数据库迁移服务 (DMS) 迁移到 Azure Database for MySQL 灵活服务器。

  1. 如果迁移数据库,请将从源数据库下载的 SQL 文件导入到新创建的 WordPress 站点的数据库中。 可以通过 <sitename>.azurewebsites.net/phpmyadmin 上的 PhpMyAdmin 仪表板进行操作。 如果无法处理单个大型 SQL 文件,请将这些文件分成多个部分,然后再次尝试上传。 此处介绍了通过 phpmyadmin 导入数据库的步骤。

  2. 启动 Azure 门户并导航到“应用服务”->“配置”边栏选项卡。 在应用服务的“应用程序设置”中更新数据库名称并保存。 这将重启应用程序,并反映出新的更改。 详细了解:WordPress 应用程序设置

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

    数据库应用程序设置

迁移后的操作

这是一个可选步骤,在站点迁移后,建议验证默认推荐/等效插件是否激活并像以前一样准确配置。 如果只能按照组织管理策略配置它们,你可以卸载插件。

  • 应激活并正确配置 W3TC 插件,以使用本地 Redis 缓存服务器和 Azure CDN/Blob 存储(如果最初配置为使用它们)。 若要详细了解如何配置这些内容,请参阅以下文档:

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

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

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

搜索并替换(路径和域)

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

配置自定义域

若要使用自定义域配置站点,请按照此处所述的步骤操作:教程:映射现有的自定义 DNS 名称

迁移自定义域

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

更新 SSL 证书

如果站点配置了 SSL 证书,请按照添加和管理 TLS/SSL 证书来配置 SSL。

下一步:对 .NET Web 应用的大规模评估