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.
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 :
-
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"
-
Redémarrez Apache :
- CentOS :
service httpd restart
- Ubuntu :
service apache2 restart
- CentOS :
-
Saisissez la commande suivante :
code language-bash touch <web server docroot>/maintenance.enable
-
Testez votre site pour vous assurer qu’il fonctionne correctement.
-
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 :
-
Utilisez un éditeur de texte pour ouvrir le fichier de configuration nginx contenant votre bloc de serveur.
-
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; }
-
Saisissez la commande suivante :
code language-bash touch <magento_root>/maintenance.enable
-
Rechargez la configuration nginx :
code language-bash service nginx reload
-
Testez votre site pour vous assurer qu’il fonctionne correctement.
-
Une fois la mise à niveau terminée, supprimez ou renommez
maintenance.enable
-
Rechargez la configuration nginx :
code language-bash service nginx reload