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.
--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:
-
Überprüfen Sie, ob die
.maintenance.flag
vorhanden ist. -
Notieren Sie die Hostadresse, die auf die
HTTP_HOST
oder einer anderen Variablen, wie z. B. ENV-Variablen. -
Überprüfen Sie, ob die
skin
vorhanden ist. -
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]
- RewriteCond
-
Kopieren Sie die folgenden Dateien:
pub/errors/default/503.phtml
nachpub/errors/sub/503.phtml
pub/errors/default/css/styles.css
nachpub/errors/sub/styles.css
-
Bearbeiten Sie diese Dateien, um lokalisierten Inhalt im
503.phtml
Datei und benutzerdefinierter Stil imstyles.css
-Datei.Stellen Sie sicher, dass Ihre Pfade auf Ihre
errors
Verzeichnis. Der Verzeichnisname muss mit dem imRewriteRule
. Im vorherigen Beispiel wurde diesub
verwendet wird, was als Parameter imRewriteRule
(skin=sub
)