本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新您的 WordPress 实例上的软件
重要
本教程适用于使用WordPress蓝图的实例。如果您的实例使用由 Bitnami WordPress 打包的实例,请改为参阅 Bitnam WordPress i 文档。/opt/bitnami) 并使用不同的服务管理工具。
创建实例后,亚马逊网络服务 (AWS) 和 Lightsail 不会更新或修补您的实例上的操作系统或应用程序。 WordPress 确实会自行安装一些更新。默认情况下,它会安装包含安全和维护补丁的次要核心版本。它不会自动安装主要核心版本。插件和主题更新也是手动的,直到你为它们开启自动更新为止。在责任AWS 共担模式下
WordPress 软件更新定期包括安全补丁。运行过时的内 WordPress 核、主题或插件版本是网站受损的最常见原因之一。
本指南向您介绍哪些更新会自动 WordPress 安装、如何手动更新 WordPress 软件以及如何为插件和主题开启自动更新。
了解 WordPress 更新类型
WordPress 软件更新分为以下几类。每个都有不同的风险状况和更新机制。
| 更新类型 | 示例 | 默认 行为 |
|---|---|---|
| 核心次要版本(维护和安全) | 6.5.1 到 6.5.2 | WordPress 在后台自动安装这些 |
| 核心主要版本(功能版本) | 6.5 到 6.6 | 仅限手动 |
| 主题和插件 | 任何主题或插件版本 | 默认情况下为手动;您可以为每个主题或插件启用自动更新 |
| 翻译 | 语言包更新 | WordPress 自动安装这些 |
从 WordPress 3.7 版本开始, WordPress 自动安装包含安全和维护补丁的次要核心版本。除非您已将其禁用,否则这是默认行为。这意味着正在运行的 WordPress 实例已经收到了其当前分支的关键安全补丁。但是,当发布分支停止接收安全反向移植时,你必须更新到更新的主要版本才能继续收到修复程序。有关更多信息,请参阅WordPress 文档 WordPress中的
先决条件
-
您在 Lightsai WordPress l 中启动了一个实例。有关更多信息,请参阅 启动和配置实 WordPress 例。
-
您拥有 WordPress 网站的管理员密码。有关更多信息,请参阅获取您 WordPress 网站的管理员密码。
第 1 步:使用快照备份您的实例
在更新任何软件之前,请为您的实例创建备份。如果更新失败或与您的主题或插件不兼容,则可以从快照中恢复您的网站。
-
打开您的实例的 WordPress 实例管理页面。
-
选择 Snapshots(快照)选项卡。
-
在 “手动快照” 下,选择 “创建快照”,输入名称,然后选择 “创建” 。
有关更多信息,请参阅使用快照备份 Linux/Unix Lightsail 实例和配置自动快照。
注意
对于主要版本更新,我们建议您先在根据快照创建的新实例上测试更新,然后再将其应用到实时网站。
注意
快照会产生月度存储费,它们会继续累积费用,直到您将其删除。有关快照定价、保留期以及如何删除不再需要的快照,请参阅亚马逊 Lightsail 中的快照删除未使用的 Lightsail 快照以避免按月收费、和 Lightsail 定价页面。
第 2 步:更新 WordPress
选项 1: WordPress 从管理仪表板更新
更新 WordPress 核心、主题和插件的最简单方法是在 WordPress 管理仪表板中进行一键更新。
-
导航到您 WordPress 网站的管理控制面板
https://,然后使用用户名your-ip/wp-adminuser和管理员密码登录。如果您没有管理员密码,请参阅获取 WordPress网站的管理员密码。 -
在左侧导航窗格中,选择控制面板,然后选择更新。菜单项上的数字徽章表示有多少更新可用。
-
在 “当前版本” 下,如果有更新的版本可 WordPress 用,请选择 “更新到版本”
X.X.X。WordPress 将您的网站置于维护模式,下载新版本并进行安装。更新运行时,访客会短暂看到一条维护消息。
-
如果出现提示,请选择 “更新 WordPress 数据库” 。 WordPress将您的内容、设置和用户数据存储在数据库中。核心更新有时需要更改数据的组织方式。例如,添加新列或表。选择此按钮会应用这些结构更改,因此新版本的 WordPress 可以正常运行。
-
在 “更新” 页面的 “插件” 部分下,选择要更新的插件,然后选择 “更新插件” 。
-
在 “主题” 部分下,选择要更新的主题,然后选择 “更新主题” 。
-
更新完成后,浏览您的网站并确认您的页面、主题和插件按预期运行。
注意
移除不再使用的插件和主题。非活跃的插件和主题仍然会增加攻击面,必须保持最新状态。有关更多信息,请参阅 亚马逊 Lightsail 中 WordPress 实例的提示和最佳实践。
选项 2: WordPress 从命令行更新
您还可以使用 WP-CLI命令行界面 WordPress 从实例内部进行更新 WordPress。这对于编写更新脚本或无法访问管理仪表板时很有用。有关更多信息,请参阅 WP-CLI 网站
在 WordPress 蓝图上, WordPress 安装目录是/var/www/html、已使用此路径预安装和预先配置,因此您无需传递参数。 WP-CLI --path WordPress 文件归admin用户所有。
重要
以登录时admin使用的用户身份运行 WP-CLI 命令。不要以其他用户的身份sudo或以其他用户的身份运行它们。以其他用户身份运行更新可能会留下admin用户无法写入的目录,从而导致以后的更新失败。如果发生这种情况,请参阅故障排除。
-
在 Lightsail 控制台中使用基于浏览器的 SSH 客户端,或者使用带有用户名的 SSH 客户端,连接到您的实例。
admin有关更多信息,请参阅 在 Lightsail 上连接 Linux 或 Unix 实例。 -
验证 WP-CLI 版本。 WP-CLI 已预安装在 WordPress蓝图上:
wp --version -
检查当前安装的 WordPress 版本和可用更新:
wp core check-update -
更新 WordPress 内核,然后更新数据库架构:
wp core update wp core update-db -
更新所有插件和主题:
wp plugin update --all wp theme update --all -
验证已安装的版本:
wp core version
第 3 步:启用自动更新
启用自动更新后,您的网站在运行存在已知漏洞的软件上花费的时间就会减少。
WordPress 核心
您的 WordPress 实例会自动安装维护和安全版本。它不会自动安装主要版本。要迁移到新的主要版本,请按照步骤 2 中的说明 WordPress 手动更新。我们建议您先创建快照,然后在根据该快照创建的实例上测试更新。
插件和主题
-
在左侧导航窗格中,选择 “插件”,然后选择 “已安装的插件” 。
-
在 “自动更新” 列中,为要 WordPress 自动更新的每个插件选择 “启用自动更新”。
-
要启用主题的自动更新,请选择 “外观”,选择 “主题”,选择一个主题,然后选择 “启用自动更新”。
注意
同样的风险也适用于插件和主题的自动更新:它们无需新的备份即可运行。为来自维护良好的来源的插件和主题选择性地启用它们,并保持自动快照处于启用状态。
从命令行自动更新
你也可以使用 WP-CLI 而不是管理仪表板来开启自动插件和主题更新。连接到您的实例,然后以admin用户身份运行以下命令。
-
为所有插件和主题开启自动更新:
wp plugin auto-updates enable --all wp theme auto-updates enable --all -
确认哪些插件和主题已开启自动更新:
wp plugin auto-updates status --all wp theme auto-updates status --all
注意
这些命令仅适用于插件和主题。您无法通过命令行更改核心更新设置。
第 4 步:保持操作系统处于最新状态
仅更新 WordPress 应用程序不足以保证您的实例安全。底层操作系统、Web 服务器、PHP 运行时和数据库也会收到安全补丁。该 WordPress 蓝图在使用 APT 包管理器的 Debian 上运行。
-
在 Lightsail 控制台中使用基于浏览器的 SSH 客户端,或者使用带有用户名的 SSH 客户端,连接到您的实例。
admin有关更多信息,请参阅 在 Lightsail 上连接 Linux 或 Unix 实例。 -
更新软件包列表并应用所有可用的升级:
sudo apt update sudo apt upgrade -y -
如果安装了内核更新,请在低流量时段重启实例:
sudo reboot
重要
如果您的实例没有附加静态 IP 地址,则当您停止和启动该实例时,其公有 IP 地址会发生变化。如果您的 DNS 记录指向实例的公有 IP,请在重启之前附加一个静态 IP 地址。有关更多信息,请参阅 创建静态 IP 并将其附加到你的 Lightsail 实例。
问题排查
您的网站处于维护模式
如果更新中断,您的网站可能会继续显示 “暂时无法进行定期维护”。要解决此问题,请使用 SSH 连接到您的实例并从 WordPress 安装目录中删除维护标志文件:
rm /var/www/html/.maintenance
更新破坏了你的网站
从您在步骤 1 中创建的快照恢复您的实例。有关更多信息,请参阅 从快照创建 Lightsail 实例。然后,通过在实例的非生产副本上测试更新,识别不兼容的主题或插件。
插件或主题更新失败,显示 “无法将旧版本移至升级临时备份目录”
在安装更新之前,将旧版本 WordPress 移至,wp-content/upgrade-temp-backup以便在更新失败时可以将其恢复。如果您看到此警告,请更新该目录的所有权和权限,然后重试更新:
sudo chown -R admin:www-data /var/www/html/wp-content/upgrade-temp-backup sudo find /var/www/html/wp-content/upgrade-temp-backup -type d -exec chmod 2775 {} \; sudo find /var/www/html/wp-content/upgrade-temp-backup -type f -exec chmod 0664 {} \;
更新安全失败:您的网站继续运行旧的插件或主题版本,直到更新成功为止。
一键更新因文件权限错误而失败
仪表板更新以 Web 服务器用户身份运行,这需要对 WordPress 文件具有群组写入权限。这通常发生在您通过 SSH 或 SFTP 手动上传插件、主题或其他文件之后,这会创建没有群组写入权限的文件。使用 SSH 连接到您的实例并恢复蓝图使用的所有权和权限:
sudo chown -R admin:www-data /var/www/html/wp-content sudo find /var/www/html/wp-content -type d -exec chmod 2775 {} \; sudo find /var/www/html/wp-content -type f -exec chmod 0664 {} \;