Attiva o disattiva la modalità di manutenzione

La guida seguente fa riferimento a una pagina della modalità di manutenzione standard. Se devi utilizzare una pagina di manutenzione personalizzata, consulta Creare la pagina di manutenzione personalizzata argomento.

Adobe Commerce utilizza la modalità di manutenzione per disabilitare l'avvio automatico. La disattivazione dell'avvio automatico è utile durante la manutenzione, l'aggiornamento o la riconfigurazione del sito.

L’applicazione rileva la modalità di manutenzione come segue:

  • Se var/.maintenance.flag non esiste, la modalità di manutenzione è disattivata e l'applicazione funziona normalmente.

  • In caso contrario, la modalità di manutenzione è attiva a meno che non esista var/.maintenance.ip.

    var/.maintenance.ip può contenere un elenco di indirizzi IP. Se si accede a un punto di ingresso tramite HTTP e l'indirizzo IP del client corrisponde a una delle voci dell'elenco, la modalità di manutenzione è disattivata.

Installare l’applicazione

Prima di utilizzare questo comando per attivare o disattivare la modalità di manutenzione, è necessario installare l'applicazione.

Attiva o disattiva la modalità di manutenzione

Utilizzare il comando CLI magento maintenance per attivare o disattivare la modalità di manutenzione.

Utilizzo comando:

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

L'opzione --ip=<ip address> è un indirizzo IP da esentare dalla modalità di manutenzione (ad esempio, sviluppatori che eseguono la manutenzione). Per esentare più di un indirizzo IP nello stesso comando, utilizza l’opzione più volte.

NOTE
L'utilizzo di --ip=<ip address> con magento maintenance:disable consente di salvare l'elenco degli IP per un utilizzo successivo. Per cancellare l'elenco degli indirizzi IP esenti, utilizzare magento maintenance:enable --ip=none o vedere Gestire l'elenco degli indirizzi IP esenti.

Il comando bin/magento maintenance:status visualizza lo stato della modalità di manutenzione.

Ad esempio, per abilitare la modalità di manutenzione senza esenzioni di indirizzi IP:

bin/magento maintenance:enable

Per attivare la modalità di manutenzione per tutti i client eccetto 192.0.2.10 e 192.0.2.11:

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

Dopo aver impostato l'applicazione in modalità di manutenzione, è necessario arrestare tutti i processi consumer della coda di messaggi.
Un modo per trovare questi processi consiste nell'eseguire il comando ps -ef | grep queue:consumers:start, quindi eseguire il comando kill <process_id> per ogni consumer. In un ambiente con più nodi, ripeti questa attività su ciascun nodo.

Gestisci l'elenco di indirizzi IP esenti

Per mantenere l'elenco degli indirizzi IP esenti, è possibile utilizzare l'opzione [--ip=<ip list>] nei comandi precedenti oppure utilizzare quanto segue:

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

La sintassi <ip address> .. <ip address> è un elenco facoltativo delimitato da spazi di indirizzi IP da esentare.

L'opzione --none cancella l'elenco.

Configurazioni multi-store

Se si desidera impostare più archivi, ciascuno con un layout e un contenuto localizzato diversi, passare il parametro $_GET['skin'] al processore desiderato.

Nell'esempio seguente viene utilizzato un file di modello di errore di tipo 503 che richiede contenuto localizzato.

Il costruttore della classe Error_Processor accetta un parametro di GET skin per modificare il layout:

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

Può essere aggiunto anche a una regola di riscrittura nel file .htaccess che aggiunge un parametro skin all'URL.

Parametro $_GET['skin']

Per utilizzare il parametro skin:

  1. Verifica se .maintenance.flag esiste.

  2. Prendere nota dell'indirizzo host, che fa riferimento a HTTP_HOST, o di qualsiasi altra variabile come le variabili ENV.

  3. Verificare se il parametro skin esiste.

  4. Imposta il parametro utilizzando le regole di riscrittura seguenti.

    Di seguito sono riportati alcuni esempi di regole di riscrittura:

    • RewriteCond %{DOCUMENT_ROOT}/var/.maintenance.flag -f
    • RewriteCond %{HTTP_HOST} ^sub.example.com$
    • RewriteCond %{QUERY_STRING} !(^|&)skin=sub(&|$) [NC]
    • Riscrivi regola ^ %{REQUEST_URI}?skin=sub [L]
  5. Copia i seguenti file:

    • Da pub/errors/default/503.phtml a pub/errors/sub/503.phtml
    • Da pub/errors/default/css/styles.css a pub/errors/sub/styles.css
  6. Modificare questi file per fornire contenuto localizzato nel file 503.phtml e stile personalizzato nel file styles.css.

    Verificare che i percorsi puntino alla directory errors. Il nome della directory deve corrispondere al parametro URL indicato in RewriteRule. Nell'esempio precedente viene utilizzata la directory sub, specificata come parametro in RewriteRule (skin=sub)

NOTE
È necessario aggiungere l'impostazione nginx per le impostazioni multi-store.
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995