[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Options du mode de maintenance pour la mise à niveau

Cette rubrique explique comment créer une page de maintenance personnalisée à afficher pour les utilisateurs pendant la mise à niveau de votre application Magento. La création d’une page personnalisée est facultative, mais recommandée, car votre site est accessible pendant une partie de la mise à niveau.

La création d’une page personnalisée vers laquelle rediriger les utilisateurs empêche tout accès au site et informe également vos utilisateurs que le site est en cours de maintenance.

NOTE
Vous devez effectuer les tâches de cette section en tant qu’utilisateur disposant de privilèges root. Les pages de maintenance personnalisées ne peuvent pas être définies en mode développeur.

Création de la page de maintenance personnalisée

Pour créer une page de maintenance et la rediriger vers celle-ci, commencez par créer une page de maintenance nommée :

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

Ajoutez le contenu suivant :

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

Page de maintenance personnalisée pour Apache

Cette section explique comment créer une page de maintenance personnalisée et rediriger le trafic vers celle-ci.

L’exemple de cette section montre comment modifier les fichiers suivants, ce qui est une façon de configurer votre page de maintenance :

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

Pour rediriger le trafic vers une page de maintenance personnalisée :

  1. Mettez à jour votre configuration Apache pour effectuer les opérations suivantes :

    • Rediriger tout le trafic vers la page de maintenance
    • Placez sur la liste autorisée certaines adresses IP afin qu’un administrateur puisse mettre à niveau le logiciel Magento.

    L’exemple suivant place sur la liste autorisée 192.0.2.110.

    Ajoutez ce qui suit à la fin de votre fichier de configuration 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. Redémarrez Apache :

    • CentOS : service httpd restart
    • Ubuntu : service apache2 restart
  3. Saisissez la commande suivante :

    code language-bash
    touch <web server docroot>/maintenance.enable
    
  4. Mettez à niveau votre système.

  5. Testez votre site pour vous assurer qu’il fonctionne correctement.

  6. Une fois la mise à niveau terminée, supprimez maintenance.enable.

Page de maintenance personnalisée pour Nginx

Cette section explique comment créer une page de maintenance personnalisée et rediriger le trafic vers celle-ci.

Pour rediriger le trafic vers une page de maintenance personnalisée :

  1. Utilisez un éditeur de texte pour ouvrir le fichier de configuration nginx contenant votre bloc de serveur.

  2. Ajoutez les éléments suivants au bloc de serveur (server est affiché par souci de clarté uniquement ; n’ajoutez pas de second bloc de serveur).

    Placer sur la liste autorisée Ce qui suit les adresses IP 192.0.2.110 et 192.0.2.115 sur un système sur lequel Magento est installé dans /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. Saisissez la commande suivante :

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

    code language-bash
    service nginx reload
    
  5. Mettez à niveau votre système.

  6. Testez votre site pour vous assurer qu’il fonctionne correctement.

  7. Une fois la mise à niveau terminée, supprimez ou renommez maintenance.enable

  8. Rechargez la configuration nginx :

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