Wartungsmodus aktivieren oder deaktivieren
Das folgende Handbuch bezieht sich auf eine standardmäßige Wartungsmodusseite. Wenn Sie eine benutzerdefinierte Wartungsseite verwenden müssen, lesen Sie den Abschnitt Erstellen der benutzerdefinierten Wartungsseite .
Adobe Commerce verwendet Wartungsmodus um das Bootstrapping zu deaktivieren. Die Deaktivierung des Bootstrapping ist hilfreich, wenn Sie Ihre Site warten, aktualisieren oder neu konfigurieren.
Die Anwendung erkennt den Wartungsmodus wie folgt:
- Wenn
var/.maintenance.flag
vorhanden ist, ist der Wartungsmodus aktiviert und die Anwendung gibt eine 503-Wartungsseite zurück. - Wenn
var/.maintenance.ip
vorhanden ist und die Client-IP einem der IP-Adresseinträge in dieser Datei entspricht, wird die Wartungsseite für die Anfrage ignoriert.
Installieren des Programms
Bevor Sie diesen Befehl zum Aktivieren oder Deaktivieren des Wartungsmodus verwenden, müssen Sie die Anwendung installieren.
Wartungsmodus aktivieren oder deaktivieren
Verwenden Sie den magento maintenance
CLI-Befehl, um den Wartungsmodus zu aktivieren oder zu deaktivieren.
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>
Option ist eine IP-Adresse, die vom Wartungsmodus ausgenommen werden soll (z. B. Entwickler, die die Wartung durchführen). Wenn Sie mehr als eine IP-Adresse im selben Befehl ausschließen möchten, verwenden Sie die Option mehrmals.
--ip=<ip address>
mit magento maintenance:disable
wird die Liste der IPs zur späteren Verwendung gespeichert. Um die Liste der ausgenommenen IPs zu löschen, verwenden Sie magento maintenance:enable --ip=none
oder lesen Sie Liste der ausgenommenen IP-Adressen verwalten.Der Befehl bin/magento maintenance:status
zeigt den Status des Wartungsmodus an.
So aktivieren Sie beispielsweise den Wartungsmodus ohne IP-Adressausnahmen:
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 Message Queue Consumer-Prozesse stoppen.
Eine Möglichkeit, diese Prozesse zu finden, besteht darin, den ps -ef | grep queue:consumers:start
-Befehl und dann den kill <process_id>
-Befehl für jeden Verbraucher auszuführen. Wiederholen Sie diese Aufgabe in einer Umgebung mit mehreren Knoten auf jedem Knoten.
Liste der ausgenommenen IP-Adressen verwalten
Um die Liste der ausgenommenen IP-Adressen zu verwalten, können Sie entweder die Option [--ip=<ip list>]
in den vorherigen Befehlen oder 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 von der Eingabe ausgenommen werden sollen.
Mit der Option --none
wird die Liste gelöscht.
Multi-Store-Setups
Wenn Sie mehrere Stores mit jeweils anderem Layout und lokalisierten Inhalten einrichten möchten, übergeben Sie den $_GET['skin']
an den gewünschten Prozessor.
Im folgenden Beispiel verwenden wir eine Fehlervorlagendatei vom Typ "503
", für die lokalisierte Inhalte erforderlich sind.
Der Konstruktor der Error_Processor
akzeptiert einen skin
GET-Parameter, um das Layout zu ändern:
if (isset($_GET['skin'])) {
$this->_setSkin($_GET['skin']);
}
Dies kann auch zu einer Rewrite-Regel in der .htaccess
-Datei hinzugefügt werden, die einen skin
Parameter an die URL anhängt.
$_GET['skin]Parameter
So verwenden Sie den skin
:
-
Überprüfen Sie, ob die
.maintenance.flag
vorhanden ist. -
Beachten Sie die Host-Adresse, die auf den
HTTP_HOST
verweist, oder jede andere Variable, z. B. ENV-Variablen. -
Überprüfen Sie, ob der
skin
vorhanden ist. -
Legen Sie den -Parameter mithilfe der folgenden 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
zupub/errors/sub/503.phtml
pub/errors/default/css/styles.css
zupub/errors/sub/styles.css
-
Bearbeiten Sie diese Dateien, um lokalisierte Inhalte in der
503.phtml
-Datei und benutzerdefinierte Stile in derstyles.css
-Datei bereitzustellen.Stellen Sie sicher, dass Ihre Pfade auf Ihr
errors
-Verzeichnis verweisen. Der Verzeichnisname muss mit dem imRewriteRule
angegebenen URL-Parameter übereinstimmen. Im vorherigen Beispiel wird das Verzeichnissub
verwendet, das als Parameter imRewriteRule
(skin=sub
) angegeben ist