Opciones de modo de mantenimiento para la actualización

En este tema se explica cómo crear una página de mantenimiento personalizada para mostrarla a los usuarios mientras se actualiza la aplicación de Magento. Crear una página personalizada es opcional, pero se recomienda porque el sitio es accesible durante parte de la actualización.

La creación de una página personalizada a la que redirigir a los usuarios impide cualquier acceso al sitio y también informa a los usuarios de que el sitio se está manteniendo.

NOTE
Debe realizar las tareas de esta sección como usuario con root privilegios. Las páginas de mantenimiento personalizadas no se pueden establecer en el modo de desarrollador.

Creación de la página de mantenimiento personalizada

Para crear una página de mantenimiento y redirigirla, cree primero una página de mantenimiento llamada:

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

Añada los siguientes contenidos:

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

Página de mantenimiento personalizada para Apache

En esta sección se explica cómo crear una página de mantenimiento personalizada y cómo redirigir el tráfico a ella.

El ejemplo de esta sección muestra cómo modificar los siguientes archivos, que es una forma de configurar la página de mantenimiento:

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

Para redirigir el tráfico a una página de mantenimiento personalizada:

  1. Actualice la configuración de Apache para hacer lo siguiente:

    • Redirigir todo el tráfico a la página de mantenimiento
    • Lista de permitidos ciertas IP para que un administrador pueda actualizar el software del Magento.

    En el siguiente ejemplo, se utiliza la lista de permitidos 192.0.2.110.

    Agregue lo siguiente al final de su archivo de configuración de 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. Reinicie Apache:

    • CentOS: service httpd restart
    • Ubuntu: service apache2 restart
  3. Introduzca el siguiente comando:

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

  5. Pruebe el sitio para asegurarse de que funciona correctamente.

  6. Una vez completada la actualización, elimine maintenance.enable.

Página de mantenimiento personalizada para nginx

En esta sección se explica cómo crear una página de mantenimiento personalizada y cómo redirigir el tráfico a ella.

Para redirigir el tráfico a una página de mantenimiento personalizada:

  1. Utilice un editor de texto para abrir el archivo de configuración de nginx que contiene el bloque de servidor.

  2. Agregue lo siguiente al bloque de servidor (server solo se muestra para una mayor claridad; no agregue un segundo bloque de servidor).

    Las siguientes listas de permitidos indican las direcciones IP 192.0.2.110 y 192.0.2.115 en un sistema donde Magento está instalado en /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. Introduzca el siguiente comando:

    code language-bash
    touch <magento_root>/maintenance.enable
    
  4. Vuelva a cargar la configuración de nginx:

    code language-bash
    service nginx reload
    
  5. Actualice su sistema.

  6. Pruebe el sitio para asegurarse de que funciona correctamente.

  7. Una vez completada la actualización, elimine o cambie el nombre maintenance.enable

  8. Vuelva a cargar la configuración de nginx:

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