

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 更新 WordPress 執行個體上的軟體
<a name="amazon-lightsail-update-wordpress-software"></a>

**重要**  
本教學課程適用於使用 **WordPress** 藍圖的執行個體。如果您的執行個體使用 **Bitnami 封裝的 WordPress**，請改為參閱 [Bitnami WordPress 文件](https://docs.bitnami.com/general/apps/wordpress/administration/upgrade/)。使用 Bitnami 封裝之 WordPress 的執行個體會將 WordPress 存放在不同的位置 (`/opt/bitnami`)，並使用不同的服務管理工具。

Amazon Web Services (AWS) 且在建立執行個體之後Lightsail，請勿更新或修補執行個體上的作業系統或應用程式。WordPress 會自行安裝一些更新。根據預設，它會安裝包含安全性和維護修正的次要核心版本。它不會自動安裝主要核心版本。外掛程式和主題更新也是手動的，直到您為它們開啟自動更新為止。在[AWS 共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)下，您有責任將執行個體上的 WordPress 軟體保持在最新狀態。

WordPress 軟體更新定期包含安全性修正。執行過時的 WordPress 核心、主題或外掛程式版本，是遭入侵網站的最常見原因之一。

本指南說明如何自動更新 WordPress 安裝、如何手動更新 WordPress 軟體，以及如何開啟外掛程式和主題的自動更新。

## 了解 WordPress 更新類型
<a name="update-wordpress-understand-types"></a>

WordPress 軟體更新分為下列類別。每個 都有不同的風險設定檔和更新機制。


| 更新類型 | 範例 | 預設行為 | 
| --- | --- | --- | 
| 核心次要版本 （維護和安全性） | 6.5.1 到 6.5.2 | WordPress 會在背景中自動安裝這些項目 | 
| 核心主要版本 （功能版本） | 6.5 到 6.6 | 僅限手動 | 
| 主題和外掛程式 | 任何佈景主題或外掛程式版本 | 根據預設手動；您可以啟用每個佈景主題或外掛程式的自動更新 | 
| 翻譯 | 語言套件更新 | WordPress 會自動安裝這些 | 

由於 WordPress 3.7，WordPress 會自動安裝包含安全性和維護修正的次要核心版本。除非您已停用，否則這是預設行為。這表示執行中的 WordPress 執行個體已經收到其目前分支的重要安全修補程式。不過，當發行分支停止接收安全後端連接埠時，您必須更新至較新的主要版本，才能繼續接收修正。如需詳細資訊，請參閱 [WordPress 文件中的更新](https://wordpress.org/documentation/article/updating-wordpress/) *WordPress*。

## 先決條件
<a name="update-wordpress-prerequisites"></a>
+ 您已在 中啟動 WordPress 執行個體Lightsail。如需詳細資訊，請參閱[啟動和設定 WordPress 執行個體](amazon-lightsail-launch-and-configure-wordpress.md)。
+ 您擁有 WordPress 網站的管理員密碼。如需詳細資訊，請參閱[取得 WordPress 網站的管理員密碼](amazon-lightsail-launch-and-configure-wordpress.md#launch-configure-wp-get-password)。

## 步驟 1：使用快照備份執行個體
<a name="update-wordpress-step-1-backup"></a>

更新任何軟體之前，請先建立執行個體的備份。如果更新失敗或與您的主題或外掛程式不相容，您可以從快照還原網站。

1. 登入 [Lightsail 主控台](https://lightsail.aws.amazon.com/)。

1. 開啟 WordPress 執行個體的執行個體管理頁面。  
![Lightsail 主控台中 WordPress 執行個體的執行個體管理頁面。](https://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/wordpress/wordpress-lightsail-update-instance-page.png)

1. 選擇 **Snapshots** (快照) 索引標籤。

1. 在**手動快照**下，選擇**建立快照**，輸入名稱，然後選擇**建立**。  
![在Lightsail主控台中建立 WordPress 執行個體的手動快照。](https://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/wordpress/wordpress-lightsail-update-create-snapshot.png)

如需詳細資訊，請參閱[使用快照備份 Linux/Unix Lightsail執行個體](lightsail-how-to-create-a-snapshot-of-your-instance.md)和[設定自動快照](amazon-lightsail-configuring-automatic-snapshots.md)。

**注意**  
對於主要版本更新，我們建議您先在從快照建立的新執行個體上測試更新，然後再將其套用至即時網站。

**注意**  
快照會產生每月儲存費用，而且會繼續產生費用，直到您刪除為止。如需快照定價、保留以及如何移除不再需要的快照，請參閱 [Amazon Lightsail 中的快照](understanding-snapshots-in-amazon-lightsail.md)、 [刪除未使用的Lightsail快照以避免每月費用](amazon-lightsail-deleting-snapshots.md)和 [Lightsail定價頁面](https://aws.amazon.com/lightsail/pricing/)。

## 步驟 2：更新 WordPress
<a name="update-wordpress-step-2-update"></a>

### 選項 1：從管理儀表板更新 WordPress
<a name="update-wordpress-from-dashboard"></a>

更新 WordPress 核心、主題和外掛程式的最簡單方法是 WordPress 管理儀表板中的一鍵式更新。

1. 導覽至 WordPress 網站的管理儀表板`https://{{your-ip}}/wp-admin`，並使用使用者名稱**user**和管理員密碼登入。如果您沒有管理員密碼，請參閱[取得 WordPress 網站的管理員密碼](amazon-lightsail-launch-and-configure-wordpress.md#launch-configure-wp-get-password)。

1. 在左側導覽窗格中，選擇**儀表板**，然後選擇**更新**。功能表項目上的數字徽章指出有多少更新可用。  
![WordPress 更新頁面顯示目前版本和可用的外掛程式更新。](https://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/wordpress/wordpress-lightsail-updates-dashboard.png)

1. 在**目前版本**下，如果有較新的 WordPress 版本可用，請選擇**更新至版本 {{X.X.X。}}**

   WordPress 會讓您的網站進入維護模式、下載新版本並安裝。訪客在更新執行時會短暫看到維護訊息。  
![WordPress 更新頁面顯示可用的核心更新和更新按鈕。](https://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/wordpress/wordpress-lightsail-update-core.png)

1. 如果出現提示，請選擇**更新 WordPress 資料庫**。WordPress 會將您的內容、設定和使用者資料存放在資料庫中。核心更新有時需要變更資料的組織方式。例如，新增資料欄或資料表。選擇此按鈕會套用這些結構變更，讓新版本的 WordPress 正常運作。

1. 在更新頁面的**外掛程式**區段下，選取要更新的外掛程式，然後選擇**更新外掛程式**。  
![WordPress 更新頁面的外掛程式區段，其中已選取要更新的外掛程式。](https://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/wordpress/wordpress-lightsail-update-plugins.png)

1. 在**佈景主題**區段下，選取要更新的主題，然後選擇**更新佈景主題**。  
![WordPress 更新頁面的主題區段，已選取主題進行更新。](https://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/wordpress/wordpress-lightsail-update-themes.png)

1. 更新完成後，請瀏覽您的網站並確認頁面、主題和外掛程式如預期般運作。

**注意**  
移除您不再使用的外掛程式和主題。非作用中外掛程式和主題仍會新增攻擊面，且必須保持最新狀態。如需詳細資訊，請參閱[中 WordPress 執行個體的秘訣和最佳實務 Amazon Lightsail](amazon-lightsail-wordpress-tips-best-practices.md)。

### 選項 2：從命令列更新 WordPress
<a name="update-wordpress-from-cli"></a>

您也可以使用 WordPress 的命令列界面 WP-CLI，從執行個體內更新 WordPress。這對於編寫更新指令碼或無法存取管理儀表板時非常有用。如需詳細資訊，請參閱 [WP-CLI 網站](https://wp-cli.org/)。

在 WordPress 藍圖上，WordPress 安裝目錄為 `/var/www/html`，而 WP-CLI 已預先安裝並預先設定此路徑，因此您不需要傳遞`--path`參數。WordPress 檔案由`admin`使用者擁有。

**重要**  
以您登入`admin`的使用者身分執行 WP-CLI 命令。請勿將它們與 `sudo` 或以其他使用者身分執行。以不同的使用者執行更新可能會留下`admin`使用者無法寫入的目錄，導致稍後的更新失敗。如果發生這種情況，請參閱[故障診斷](#update-wordpress-troubleshooting)。

1. 使用Lightsail主控台中的瀏覽器型 SSH 用戶端，或使用使用者名稱為 的自有 SSH 用戶端，連線至您的執行個體`admin`。如需詳細資訊，請參閱[連線至 上的 Linux 或 Unix 執行個體 Lightsail](lightsail-how-to-connect-to-your-instance-virtual-private-server.md)。

1. 驗證 WP-CLI 版本。WP-CLI 預先安裝在 WordPress 藍圖上：

   ```
   wp --version
   ```

1. 檢查目前安裝的 WordPress 版本和可用的更新：

   ```
   wp core check-update
   ```

1. 更新 WordPress 核心，然後更新資料庫結構描述：

   ```
   wp core update
   wp core update-db
   ```

1. 更新所有外掛程式和主題：

   ```
   wp plugin update --all
   wp theme update --all
   ```

1. 驗證安裝的版本：

   ```
   wp core version
   ```

## 步驟 3：啟用自動更新
<a name="update-wordpress-step-3-automatic-updates"></a>

當您啟用自動更新時，您的網站花費較少時間執行具有已知漏洞的軟體。

### WordPress 核心
<a name="update-wordpress-automatic-core"></a>

您的 WordPress 執行個體會自動安裝維護和安全性版本。它不會自動安裝主要版本。若要移至新的主要版本，請依照[步驟 2 ](#update-wordpress-step-2-update)所述手動更新 WordPress。我們建議您先建立快照，並在從該快照建立的執行個體上測試更新。

### 外掛程式和主題
<a name="update-wordpress-automatic-plugins-themes"></a>

1. 在左側導覽窗格中，選擇**外掛程式**，然後選擇**已安裝的外掛程式**。

1. 在**自動更新**欄中，針對您希望 WordPress **自動更新的每個外掛程式，選擇啟用自動更新**。

1. 若要啟用佈景主題的自動更新，請選擇**外觀**、選擇**佈景主題**、選擇佈景主題，然後選擇**啟用自動更新**。

**注意**  
同樣的風險適用於外掛程式和佈景主題自動更新：它們在沒有新備份的情況下執行。從維護良好的來源選擇性地啟用外掛程式和主題，並保持啟用自動快照。

### 從命令列自動更新
<a name="update-wordpress-automatic-cli"></a>

您也可以使用 WP-CLI 開啟自動外掛程式和主題更新，而不是管理儀表板。連線至您的執行個體，然後以`admin`使用者身分執行下列命令。

1. 開啟所有外掛程式和主題的自動更新：

   ```
   wp plugin auto-updates enable --all
   wp theme auto-updates enable --all
   ```

1. 確認哪些外掛程式和主題已開啟自動更新：

   ```
   wp plugin auto-updates status --all
   wp theme auto-updates status --all
   ```

**注意**  
這些命令僅適用於外掛程式和主題。您無法從命令列變更核心更新設定。

## 步驟 4：將作業系統保持在最新狀態
<a name="update-wordpress-step-4-os-updates"></a>

僅更新 WordPress 應用程式不足以確保您的執行個體安全。基礎作業系統、Web 伺服器、PHP 執行期和資料庫也會收到安全修補程式。WordPress 藍圖在 Debian 上執行，該 Debian 使用 APT 套件管理員。

1. 使用Lightsail主控台中的瀏覽器型 SSH 用戶端，或使用使用者名稱為 的您自己的 SSH 用戶端，來連線至您的執行個體`admin`。如需詳細資訊，請參閱[連線至 上的 Linux 或 Unix 執行個體 Lightsail](lightsail-how-to-connect-to-your-instance-virtual-private-server.md)。

1. 更新套件清單並套用所有可用的升級：

   ```
   sudo apt update
   sudo apt upgrade -y
   ```

1. 如果已安裝核心更新，請在低流量時段重新啟動執行個體：

   ```
   sudo reboot
   ```

**重要**  
如果您的執行個體未連接靜態 IP 地址，其公有 IP 地址會在您停止和啟動執行個體時變更。如果您的 DNS 記錄指向執行個體的公有 IP，請在重新啟動之前連接靜態 IP 地址。如需詳細資訊，請參閱[建立靜態 IP 並將其連接至您的Lightsail執行個體](lightsail-create-static-ip.md)。

## 疑難排解
<a name="update-wordpress-troubleshooting"></a>

### 您的網站卡在維護模式中
<a name="update-wordpress-troubleshoot-maintenance-mode"></a>

如果更新中斷，您的網站可能會繼續顯示「排程維護突然無法使用」。若要解決此問題，請使用 SSH 連線到您的執行個體，並從 WordPress 安裝目錄刪除維護旗標檔案：

```
rm /var/www/html/.maintenance
```

### 更新會中斷您的網站
<a name="update-wordpress-troubleshoot-broken-update"></a>

從您在[步驟 1 ](#update-wordpress-step-1-backup)中建立的快照還原執行個體。如需詳細資訊，請參閱[從快照建立Lightsail執行個體](lightsail-how-to-create-instance-from-snapshot.md)。然後，透過在執行個體的非生產複本上測試更新來識別不相容的主題或外掛程式。

### 外掛程式或主題更新失敗，並顯示「無法將舊版本移至 upgrade-temp-backup 目錄」
<a name="update-wordpress-troubleshoot-temp-backup"></a>

安裝更新之前，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 {} \;
```

更新會安全失敗：您的網站會繼續執行舊的外掛程式或佈景主題版本，直到更新成功為止。

### 一鍵式更新失敗，並出現檔案許可錯誤
<a name="update-wordpress-troubleshoot-permissions"></a>

儀表板更新會以 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 {} \;
```