Opções de modo de manutenção para atualização

Este tópico discute como criar uma página de manutenção personalizada para exibir aos usuários enquanto seu aplicativo Magento está sendo atualizado. A criação de uma página personalizada é opcional, mas recomendada, pois seu site está acessível durante parte da atualização.

Criar uma página personalizada para redirecionar usuários impede qualquer acesso ao site e também informa aos usuários que o site está em manutenção.

NOTE
Você deve executar as tarefas desta seção como um usuário com privilégios de root. Páginas de manutenção personalizadas não podem ser definidas enquanto estiverem no modo de desenvolvedor.

Criar a página de manutenção personalizada

Para criar uma página de manutenção e redirecioná-la, primeiro crie uma página de manutenção chamada:

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

Adicione o seguinte conteúdo:

<!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 manutenção personalizada do Apache

Esta seção discute como criar uma página de manutenção personalizada e como redirecionar o tráfego para ela.

O exemplo nesta seção mostra como modificar os seguintes arquivos, o que é uma maneira de configurar sua página de manutenção:

  • 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 redirecionar o tráfego para uma página de manutenção personalizada:

  1. Atualize sua configuração do Apache para fazer o seguinte:

    • Redirecionar todo o tráfego para a página de manutenção
    • executar a Inclui na lista de permissões de determinados IPs para que um administrador possa atualizar o software Magento.

    O exemplo a seguir inclui na lista de permissões 192.0.2.110.

    Adicione o seguinte ao final do arquivo de configuração do 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. Reiniciar o Apache:

    • CentOS: service httpd restart
    • Ubuntu: service apache2 restart
  3. Digite o seguinte comando:

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

  5. Teste o site para verificar se ele funciona corretamente.

  6. Após a atualização, exclua maintenance.enable.

Página de manutenção personalizada para nginx

Esta seção discute como criar uma página de manutenção personalizada e como redirecionar o tráfego para ela.

Para redirecionar o tráfego para uma página de manutenção personalizada:

  1. Use um editor de texto para abrir o arquivo de configuração nginx que contém o bloco do servidor.

  2. Adicionar o seguinte ao bloco de servidor (server é mostrado apenas para maior clareza; não adicione um segundo bloco de servidor).

    Incluir na lista de permissões A seguinte mensagem indica o endereço IP 192.0.2.110 e 192.0.2.115 em um sistema onde o Magento está instalado em /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. Digite o seguinte comando:

    code language-bash
    touch <magento_root>/maintenance.enable
    
  4. Recarregue a configuração do nginx:

    code language-bash
    service nginx reload
    
  5. Atualize seu sistema.

  6. Teste o site para verificar se ele funciona corretamente.

  7. Após a atualização, exclua ou renomeie maintenance.enable

  8. Recarregue a configuração do nginx:

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