啟用或停用維護模式

下列指南參考標準維護模式頁面。 如果您需要使用自訂維護頁面,請參閱建立自訂維護頁面主題。

Adobe Commerce使用維護模式來停用啟動程式。 在維護、升級或重新設定網站時,停用啟動載入功能會很有幫助。

應用程式會偵測維護模式,如下所示:

  • 如果var/.maintenance.flag存在,則維護模式為開啟,應用程式將傳回503維護頁面。
  • 如果var/.maintenance.ip存在,且使用者端IP對應至此檔案中的其中一個IP位址專案,則會忽略要求的維護頁面。

安裝應用程式

使用此命令啟用或停用維護模式之前,您必須安裝應用程式

啟用或停用維護模式

使用magento maintenance CLI命令來啟用或停用維護模式。

命令使用方式:

bin/magento maintenance:enable [--ip=<ip address> ... --ip=<ip address>] | [ip=none]
bin/magento maintenance:disable [--ip=<ip address> ... --ip=<ip address>] | [ip=none]
bin/magento maintenance:status

--ip=<ip address>選項是免除維護模式的IP位址(例如,進行維護的開發人員)。 若要免除相同命令中多個IP位址,請多次使用選項。

NOTE
搭配magento maintenance:disable使用--ip=<ip address>可儲存IP清單以供稍後使用。 若要清除劐免IP清單,請使用magento maintenance:enable --ip=none或參閱維護劐免IP位址清單

bin/magento maintenance:status命令會顯示維護模式的狀態。

例如,啟用沒有IP位址劐免的維護模式:

bin/magento maintenance:enable

若要為192.0.2.10和192.0.2.11以外的所有使用者端啟用維護模式:

bin/magento maintenance:enable --ip=192.0.2.10 --ip=192.0.2.11

將應用程式置於維護模式後,您必須停止所有訊息佇列取用者處理作業。
尋找這些處理序的一種方式是執行ps -ef | grep queue:consumers:start命令,然後為每個消費者執行kill <process_id>命令。 在多節點環境中,對每個節點重複此工作。

維護劐免IP位址清單

若要維護免除IP位址清單,您可以使用上述命令中的[--ip=<ip list>]選項,或使用下列選項:

bin/magento maintenance:allow-ips <ip address> .. <ip address> [--none]

<ip address> .. <ip address>語法是可免除的選用空格分隔的IP位址清單。

--none選項會清除清單。

多存放區設定

如果您要設定多個商店,每個商店都有不同的版面配置和當地語系化的內容,請將$_GET['skin']引數傳遞給預期的處理器。

在下列範例中,我們使用503型別錯誤範本檔案,這需要當地語系化的內容。

Error_Processor類別的建構函式接受skin個GET引數以變更配置:

if (isset($_GET['skin'])) {
    $this->_setSkin($_GET['skin']);
}

您也可以將此專案新增至.htaccess檔案中的重寫規則,該規則會將skin引數附加至URL。

$_GET['skin']引數

若要使用skin引數:

  1. 檢查.maintenance.flag是否存在。

  2. 記下參照HTTP_HOST的主機位址或任何其他變數(例如ENV變數)。

  3. 檢查skin引數是否存在。

  4. 使用下列重寫規則來設定引數。

    以下是重寫規則的一些範例:

    • RewriteCond %{DOCUMENT_ROOT}/var/.maintenance.flag -f
    • RewriteCond %{HTTP_HOST} ^sub.example.com$
    • RewriteCond %{QUERY_STRING} !(^|&)skin=sub(&|$) [NC]
    • RewriteRule ^ %{REQUEST_URI}?skin=sub [L]
  5. 複製下列檔案:

    • pub/errors/default/503.phtmlpub/errors/sub/503.phtml
    • pub/errors/default/css/styles.csspub/errors/sub/styles.css
  6. 編輯這些檔案以在503.phtml檔案中提供當地語系化的內容,並在styles.css檔案中提供自訂樣式。

    確定您的路徑指向errors目錄。 目錄名稱必須符合RewriteRule中指示的URL引數。 在上一個範例中,使用了sub目錄,它指定為RewriteRule (skin=sub)中的引數

NOTE
必須為多存放區設定新增nginx設定。
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995