Aktivieren oder Deaktivieren des Wartungsmodus

Das folgende Handbuch bezieht sich auf eine Seite mit dem Standard-Wartungsmodus. Wenn Sie eine benutzerdefinierte Wartungsseite verwenden müssen, lesen Sie Benutzerdefinierte Wartungsseite erstellen Thema.

Adobe Commerce verwendet Wartungsmodus zum Deaktivieren des Bootstrapping. Die Deaktivierung des Bootstrapping ist hilfreich, wenn Sie Ihre Site verwalten, aktualisieren oder neu konfigurieren.

Das Programm erkennt den Wartungsmodus wie folgt:

  • Wenn var/.maintenance.flag nicht vorhanden ist, ist der Wartungsmodus deaktiviert und die Anwendung funktioniert normal.

  • Andernfalls ist der Wartungsmodus aktiviert, sofern var/.maintenance.ip vorhanden ist.

    var/.maintenance.ip kann eine Liste von IP-Adressen enthalten. Wenn über HTTP auf einen Einstiegspunkt zugegriffen wird und die Client-IP-Adresse einem der Einträge in dieser Liste entspricht, ist der Wartungsmodus deaktiviert.

Installieren des Programms

Bevor Sie diesen Befehl zum Aktivieren oder Deaktivieren des Wartungsmodus verwenden, müssen Sie Installieren des Programms.

Aktivieren oder Deaktivieren des Wartungsmodus

Verwenden Sie die magento maintenance CLI-Befehl zum Aktivieren oder Deaktivieren des Wartungsmodus.

Befehlsverwendung:

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

Die --ip=<ip address> ist eine IP-Adresse, die vom Wartungsmodus ausgenommen werden soll (z. B. Entwickler, die die Wartung durchführen). Verwenden Sie die Option mehrmals, um mehrere IP-Adressen im selben Befehl auszuschließen.

NOTE
Verwenden --ip=<ip address> mit magento maintenance:disable speichert die Liste der IPs zur späteren Verwendung. Um die Liste der ausgenommenen IPs zu löschen, verwenden Sie magento maintenance:enable --ip=none oder Liste der ausgenommenen IP-Adressen beibehalten.

Die bin/magento maintenance:status zeigt den Status des Wartungsmodus an.

So aktivieren Sie beispielsweise den Wartungsmodus ohne IP-Adressenausnahmen:

bin/magento maintenance:enable

So aktivieren Sie den Wartungsmodus für alle Clients außer 192.0.2.10 und 192.0.2.11:

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

Nachdem Sie die Anwendung in den Wartungsmodus versetzt haben, müssen Sie alle Verbraucherprozesse in der Nachrichtenwarteschlange stoppen.
Eine Möglichkeit, diese Prozesse zu finden, besteht darin, die ps -ef | grep queue:consumers:start und führen Sie dann die kill <process_id> -Befehl für jeden Verbraucher. Wiederholen Sie diese Aufgabe in einer Umgebung mit mehreren Knoten für jeden Knoten.

Liste der ausgenommenen IP-Adressen beibehalten

Um die Liste der ausgenommenen IP-Adressen zu verwalten, können Sie entweder die [--ip=<ip list>] -Option in den vorherigen Befehlen oder Sie können Folgendes verwenden:

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

Die <ip address> .. <ip address> -Syntax ist eine optionale, durch Leerzeichen getrennte Liste von IP-Adressen, die ausgeschlossen werden sollen.

Die --none löscht die Liste.

Multi-Store-Setups

Wenn Sie mehrere Stores mit jeweils unterschiedlichem Layout und lokalisierten Inhalten einrichten möchten, übergeben Sie die $_GET['skin'] -Parameter auf den vorgesehenen Prozessor.

Im folgenden Beispiel verwenden wir eine 503 Typ der Fehlervorlagendatei, die lokalisierten Inhalt erfordert.

Der Konstruktor der Error_Processor -Klasse akzeptiert eine skin GET-Parameter zum Ändern des Layouts:

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

Dies kann auch zu einer Neuschreibungsregel im Abschnitt .htaccess Datei, die eine skin -Parameter an die URL an.

$_GET["haut"] parameter

So verwenden Sie die skin Parameter:

  1. Überprüfen Sie, ob die .maintenance.flag vorhanden ist.

  2. Notieren Sie die Hostadresse, die auf die HTTP_HOSToder einer anderen Variablen, wie z. B. ENV-Variablen.

  3. Überprüfen Sie, ob die skin vorhanden ist.

  4. Legen Sie den Parameter mithilfe der unten stehenden Neuschreibungsregeln fest.

    Im Folgenden finden Sie einige Beispiele für Neuschreibungsregeln:

    • 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. Kopieren Sie die folgenden Dateien:

    • pub/errors/default/503.phtml nach pub/errors/sub/503.phtml
    • pub/errors/default/css/styles.css nach pub/errors/sub/styles.css
  6. Bearbeiten Sie diese Dateien, um lokalisierten Inhalt im 503.phtml Datei und benutzerdefinierter Stil im styles.css -Datei.

    Stellen Sie sicher, dass Ihre Pfade auf Ihre errors Verzeichnis. Der Verzeichnisname muss mit dem im RewriteRule. Im vorherigen Beispiel wurde die sub verwendet wird, was als Parameter im RewriteRule (skin=sub)

NOTE
Die nginx muss für Multi-Store-Setups hinzugefügt werden.
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995