Alternativ för underhållsläge vid uppgradering

I det här avsnittet beskrivs hur du kan skapa en anpassad underhållssida som visas för användare medan ditt Magento-program uppgraderas. Det är valfritt att skapa en anpassad sida, men vi rekommenderar att du gör det eftersom webbplatsen är tillgänglig under en del av uppgraderingen.

Om du skapar en anpassad sida som användare kan omdirigeras till, förhindras åtkomst till webbplatsen och dessutom informeras användarna om att webbplatsen genomgår underhåll.

NOTE
Du måste utföra uppgifterna i det här avsnittet som en användare med behörigheten root. Det går inte att ange anpassade underhållssidor i utvecklarläge.

Skapa den anpassade underhållssidan

Om du vill skapa en underhållssida och dirigera om den skapar du först en underhållssida med namnet:

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

Lägg till följande innehåll:

<!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>

Anpassad underhållssida för Apache

I det här avsnittet beskrivs hur du skapar en anpassad underhållssida och hur du omdirigerar trafik till den.

Exemplet i det här avsnittet visar hur du ändrar följande filer, som är ett sätt att konfigurera underhållssidan:

  • 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)

Så här omdirigerar du trafik till en anpassad underhållssida:

  1. Uppdatera Apache-konfigurationen så här:

    • Omdirigera all trafik till underhållssidan
    • Tillåtslista vissa IP-adresser så att en administratör kan uppgradera Magento.

    Följande exempel tillåtslista 192.0.2.110.

    Lägg till följande i slutet av konfigurationsfilen för Apache:

    code language-none
    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. Starta om Apache:

    • CentOS: service httpd restart
    • Ubuntu: service apache2 restart
  3. Ange följande kommando:

    code language-bash
    touch <web server docroot>/maintenance.enable
    
  4. Uppgradera systemet.

  5. Testa webbplatsen för att kontrollera att den fungerar som den ska.

  6. När uppgraderingen är klar tar du bort maintenance.enable.

Anpassad underhållssida för nginx

I det här avsnittet beskrivs hur du skapar en anpassad underhållssida och hur du omdirigerar trafik till den.

Så här omdirigerar du trafik till en anpassad underhållssida:

  1. Använd ett textredigeringsprogram för att öppna konfigurationsfilen nginx som innehåller serverblocket.

  2. Lägg till följande i serverblocket (server visas endast för tydlighet. Lägg inte till ett andra serverblock).

    Följande tillåtslista IP-adressen 192.0.2.110 och 192.0.2.115 för på ett system där Magento är installerat i /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. Ange följande kommando:

    code language-bash
    touch <magento_root>/maintenance.enable
    
  4. Läs in nästa konfiguration igen:

    code language-bash
    service nginx reload
    
  5. Uppgradera systemet.

  6. Testa webbplatsen för att kontrollera att den fungerar som den ska.

  7. När uppgraderingen är klar tar du bort eller byter namn på maintenance.enable

  8. Läs in nästa konfiguration igen:

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