Opzioni della modalità di manutenzione per l’aggiornamento

In questo argomento viene illustrato come creare una pagina di manutenzione personalizzata da visualizzare agli utenti durante l'aggiornamento dell'applicazione di Magento. La creazione di una pagina personalizzata è facoltativa ma consigliata perché il sito è accessibile durante parte dell’aggiornamento.

La creazione di una pagina personalizzata a cui reindirizzare gli utenti impedisce l’accesso al sito e informa gli utenti che il sito è in fase di manutenzione.

NOTE
È necessario eseguire le attività in questa sezione come utente con privilegi root. Impossibile impostare pagine di manutenzione personalizzate in modalità sviluppatore.

Creare la pagina di manutenzione personalizzata

Per creare una pagina di manutenzione e reindirizzarla, crea innanzitutto una pagina di manutenzione denominata:

  • Apache: <web server docroot>/maintenance.html
  • indice: <magento_root>/maintenance.html

Aggiungi il seguente contenuto:

<!DOCTYPE html>
<html>
<head>
<title>Temporarily Offline</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
h1
{ font-size: 50px; }

body
{ text-align:center; font: 20px Helvetica, sans-serif; color: #333; }

</style>
</head>
<body>

# Temporarily offline

<p>We're down for a short time to perform maintenance on our site to give you the best possible experience. Check back soon!</p>
</body>
</html>

Pagina di manutenzione personalizzata per Apache

Questa sezione illustra come creare una pagina di manutenzione personalizzata e come reindirizzare il traffico verso di essa.

L’esempio riportato in questa sezione mostra come modificare i seguenti file, il che rappresenta uno dei modi per impostare la pagina di manutenzione:

  • Apache 2.4: /etc/apache2/sites-available/000-default.conf
  • Apache 2.2: /etc/apache2/sites-available/default (Ubuntu), /etc/httpd/conf/httpd.conf (CentOS)

Per reindirizzare il traffico a una pagina di manutenzione personalizzata:

  1. Aggiorna la configurazione di Apache per effettuare le seguenti operazioni:

    • Reindirizza tutto il traffico alla pagina di manutenzione
    • Inserire nell'elenco Consentiti determinati IP in modo che un amministratore possa aggiornare il software del Magento.

    Nell'esempio seguente viene illustrato come inserire nell'elenco Consentiti 192.0.2.110.

    Aggiungi quanto segue alla fine del file di configurazione Apache:

    code language-terminal
    RewriteEngine On
    RewriteCond %{REMOTE_ADDR} !^192\.0\.2\.110
    RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
    RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f
    RewriteCond %{SCRIPT_FILENAME} !maintenance.html
    RewriteRule ^.*$ /maintenance.html [R=503,L]
    ErrorDocument 503 /maintenance.html
    Header Set Cache-Control "max-age=0, no-store"
    
  2. Riavvia Apache:

    • CentOS: service httpd restart
    • Ubuntu: service apache2 restart
  3. Immetti il comando seguente:

    code language-bash
    touch <web server docroot>/maintenance.enable
    
  4. Aggiorna il sistema.

  5. Verifica il sito per assicurarti che funzioni correttamente.

  6. Al termine dell'aggiornamento, eliminare maintenance.enable.

Pagina di manutenzione personalizzata per l’indice

Questa sezione illustra come creare una pagina di manutenzione personalizzata e come reindirizzare il traffico verso di essa.

Per reindirizzare il traffico a una pagina di manutenzione personalizzata:

  1. Utilizza un editor di testo per aprire il file di configurazione nginx che contiene il blocco server.

  2. Aggiungere quanto segue al blocco del server (server viene visualizzato solo per chiarezza; non aggiungere un secondo blocco del server).

    I seguenti inseriscono nell'elenco Consentiti gli indirizzi IP 192.0.2.110 e 192.0.2.115 in un Magento in cui è installato /var/www/html/magento2:

    code language-conf
    server {
         listen 80;
         set $MAGE_ROOT /var/www/html/magento2;
    
         set $maintenance off;
    
         if (-f $MAGE_ROOT/maintenance.enable) {
             set $maintenance on;
         }
    
         if ($remote_addr ~ (192.0.2.110|192.0.2.115)) {
             set $maintenance off;
         }
    
         if ($maintenance = on) {
             return 503;
         }
    
         location /maintenance {
         }
    
         error_page 503 @maintenance;
    
         location @maintenance {
         root $MAGE_ROOT;
         rewrite ^(.*)$ /maintenance.html break;
     }
    
         include /var/www/html/magento2/nginx.conf;
    }
    
  3. Immetti il comando seguente:

    code language-bash
    touch <magento_root>/maintenance.enable
    
  4. Ricarica la configurazione nginx:

    code language-bash
    service nginx reload
    
  5. Aggiorna il sistema.

  6. Verifica il sito per assicurarti che funzioni correttamente.

  7. Al termine dell'aggiornamento, eliminare o rinominare maintenance.enable

  8. Ricarica la configurazione nginx:

    code language-bash
    service nginx reload
    
recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea