使用 Lightsail 内容分发网络配置 WordPress - Amazon Lightsail

使用 Lightsail 内容分发网络配置 WordPress

在本指南中,我们将介绍如何配置 WordPress 实例以使用 Amazon Lightsail 分配。

所有 Lightsail 分配都对其默认域(例如 123456abcdef.cloudfront.net)默认启用 HTTPS。分配的配置决定了分配与实例之间的连接是否已加密。

  • 您的 WordPress 网站仅使用 HTTP – 如果您的网站仅使用 HTTP 作为分配源,并且未配置为使用 HTTPS,您可以将分配配置为终止 SSL/TLS 并使用未加密的连接将所有内容请求转发到您的实例。

  • 您的 WordPress 网站使用 HTTPS – 如果您的网站使用 HTTPS 作为分配的源,您可以将分配配置为使用加密的连接将所有内容请求转发到您的实例。此配置称为端到端加密。

创建分配

完成以下步骤以为 WordPress 实例配置 Lightsail 分配。有关更多信息,请参阅 创建 Lightsail 内容分发网络分配

先决条件

按照 在 Lightsail 上启动和配置 WordPress 中所述创建和配置 WordPress 实例。

要为您的 WordPress 实例创建分配
  1. 在左侧导航窗格中,选择联网

  2. 选择创建分配

  3. 对于选择您的源,选择运行 WordPress 实例的区域,然后选择 WordPress 实例。我们会自动使用您附加到实例的静态 IP 地址。

  4. 对于缓存行为,请选择最适合 WordPress

  5. (可选)要配置端到端加密,请将源协议策略更改为仅限 HTTPS。有关更多信息,请参阅 源协议策略

  6. 配置剩余选项,然后选择创建分配

  7. 自定义域选项卡上,选择创建证书。输入证书的唯一名称,输入您的域和子域的名称,然后选择创建证书

  8. 选择附加证书

  9. 对于更新 DNS 记录,选择我了解

更新 DNS 记录

完成以下步骤以更新 Lightsail DNS 区域的 DNS 记录。

要更新分配的 DNS 记录
  1. 在左侧导航窗格中,选择 域和 DNS

  2. 选择您的 DNS 区域,然后选择 DNS 记录选项卡。

  3. 删除您在证书中指定的域的 A 和 AAAA 记录。

  4. 选择添加记录并创建 CNAME 记录,该记录将您的域解析为分配的域(例如 d2vbec9EXAMPLE.cloudfront.net)。

  5. 选择保存

允许分配缓存静态内容

完成以下过程以编辑 WordPress 实例中的 wp-config.php 文件,以便它可以使用您的分配。

注意

我们建议您在开始使用此过程之前创建 WordPress 实例的快照。快照可用作备份,如果出现问题,您便可以从中创建另一个实例。有关更多信息,请参阅创建 Linux 或 Unix 实例的快照

  1. 登录 Lightsail 控制台

  2. 在左侧导航窗格中,选择 WordPress 实例旁边显示的基于浏览器的 SSH 客户端图标。

  3. 连接到实例后,请输入以下命令来创建 wp-config.php 文件的备份。如果出现问题,您可以使用备份还原文件。

    sudo cp /opt/bitnami/wordpress/wp-config.php /opt/bitnami/wordpress/wp-config.php.backup
  4. 输入以下命令以使用 Vim 打开 wp-config.php 文件。

    sudo vim /opt/bitnami/wordpress/wp-config.php
  5. I 进入 Vim 的插入模式。

  6. 删除文件中的以下代码行。

    define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
  7. 根据您使用的 WordPress 版本,将以下代码行之一添加到该文件中:

    • 如果您使用 3.3 或更低版本,请在之前删除代码的位置添加如下代码行。

      define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/'); define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/'); if (isset($_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO']) && $_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }
    • 如果您使用 3.3.1-5 或更高版本,请在之前删除代码的位置添加如下代码行。

      define('WP_SITEURL', 'http://DOMAIN/'); define('WP_HOME', 'http://DOMAIN/'); if (isset($_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO']) && $_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }
  8. ESC 键退出 Vim 的插入模式,然后输入 :wq! 并按 Enter 以保存您的编辑内容(写入),再退出 Vim。

  9. 输入以下命令以重新启动实例的 Apache 服务。

    sudo /opt/bitnami/ctlscript.sh restart apache
  10. 稍等片刻,让 Apache 服务重新启动,然后测试您的分配是否正在缓存内容。有关更多信息,请参阅测试 Amazon Lightsail 分配

  11. 如果出现问题,请使用基于浏览器的 SSH 客户端重新连接到您的实例。运行以下命令以使用您之前在本指南中创建的备份来还原 wp-config.php 文件。

    sudo cp /opt/bitnami/wordpress/wp-config.php.backup /opt/bitnami/wordpress/wp-config.php

    还原文件后,请输入以下命令以重新启动 Apache 服务:

    sudo /opt/bitnami/ctlscript.sh restart apache

有关分配的其他信息

以下文章可帮助您管理 Lightsail 中的分配: