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.
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:
-
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"
-
Reiniciar o Apache:
- CentOS:
service httpd restart
- Ubuntu:
service apache2 restart
- CentOS:
-
Digite o seguinte comando:
code language-bash touch <web server docroot>/maintenance.enable
-
Teste o site para verificar se ele funciona corretamente.
-
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:
-
Use um editor de texto para abrir o arquivo de configuração nginx que contém o bloco do servidor.
-
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; }
-
Digite o seguinte comando:
code language-bash touch <magento_root>/maintenance.enable
-
Recarregue a configuração do nginx:
code language-bash service nginx reload
-
Teste o site para verificar se ele funciona corretamente.
-
Após a atualização, exclua ou renomeie
maintenance.enable
-
Recarregue a configuração do nginx:
code language-bash service nginx reload