Ativar ou desativar modo de manutenção
O guia a seguir se refere a uma página de modo de manutenção padrão. Se você precisar usar uma página de manutenção personalizada, consulte o tópico Criar a página de manutenção personalizada.
O Adobe Commerce usa o modo de manutenção para desabilitar a inicialização. Desativar a inicialização é útil enquanto você mantém, atualiza ou reconfigura o site.
O aplicativo detecta o modo de manutenção da seguinte maneira:
- Se
var/.maintenance.flag
existir, o modo de manutenção está ativado, e o aplicativo retornará uma página de manutenção 503. - Se
var/.maintenance.ip
existir e o IP do cliente corresponder a uma das entradas de endereço IP nesse arquivo, a página de manutenção será ignorada para a solicitação.
Instalar o aplicativo
Antes de usar este comando para habilitar ou desabilitar o modo de manutenção, você deve instalar o aplicativo.
Ativar ou desativar modo de manutenção
Use o comando da CLI magento maintenance
para habilitar ou desabilitar o modo de manutenção.
Uso do comando:
bin/magento maintenance:enable [--ip=<ip address> ... --ip=<ip address>] | [ip=none]
bin/magento maintenance:disable [--ip=<ip address> ... --ip=<ip address>] | [ip=none]
bin/magento maintenance:status
A opção --ip=<ip address>
é um endereço IP para isentar do modo de manutenção (por exemplo, desenvolvedores fazendo a manutenção). Para isentar mais de um endereço IP no mesmo comando, use a opção várias vezes.
--ip=<ip address>
com magento maintenance:disable
salva a lista de IPs para uso posterior. Para limpar a lista de IPs isentos, use magento maintenance:enable --ip=none
ou consulte Manter a lista de endereços IP isentos.O comando bin/magento maintenance:status
exibe o status do modo de manutenção.
Por exemplo, para ativar o modo de manutenção sem isenções de endereço IP:
bin/magento maintenance:enable
Para ativar o modo de manutenção para todos os clientes, exceto 192.0.2.10 e 192.0.2.11:
bin/magento maintenance:enable --ip=192.0.2.10 --ip=192.0.2.11
Depois de colocar a aplicação no modo de manutenção, você deve interromper todos os processos do consumidor da fila de mensagens.
Uma maneira de encontrar esses processos é executar o comando ps -ef | grep queue:consumers:start
e depois executar o comando kill <process_id>
para cada consumidor. Em um ambiente com vários nós, repita essa tarefa em cada nó.
Manter a lista de endereços IP isentos
Para manter a lista de endereços IP isentos, você pode usar a opção [--ip=<ip list>]
nos comandos anteriores ou usar o seguinte:
bin/magento maintenance:allow-ips <ip address> .. <ip address> [--none]
A sintaxe <ip address> .. <ip address>
é uma lista opcional delimitada por espaços de endereços IP para isentar.
A opção --none
limpa a lista.
Configurações de várias lojas
Se quiser configurar vários armazenamentos, cada um com um layout diferente e conteúdo localizado, passe o parâmetro $_GET['skin']
para o processador pretendido.
No exemplo a seguir, estamos usando um arquivo de modelo de erro do tipo 503
, que requer conteúdo localizado.
O construtor da classe Error_Processor
aceita um parâmetro de GET skin
para alterar o layout:
if (isset($_GET['skin'])) {
$this->_setSkin($_GET['skin']);
}
Isso também pode ser adicionado a uma regra de regravação no arquivo .htaccess
que anexa um parâmetro skin
à URL.
Parâmetro $_GET['skin']
Para usar o parâmetro skin
:
-
Verifique se o
.maintenance.flag
existe. -
Observe o endereço do host, que se refere ao
HTTP_HOST
, ou qualquer outra variável, como as variáveis ENV. -
Verifique se o parâmetro
skin
existe. -
Defina o parâmetro usando as regras de regravação abaixo.
Estes são alguns exemplos de regras de regravação:
- RewriteCond
%{DOCUMENT_ROOT}/var/.maintenance.flag -f
- RewriteCond
%{HTTP_HOST} ^sub.example.com$
- RewriteCond
%{QUERY_STRING} !(^|&)skin=sub(&|$)
[NC] - RewriteRule
^ %{REQUEST_URI}?skin=sub
[L]
- RewriteCond
-
Copie os seguintes arquivos:
pub/errors/default/503.phtml
apub/errors/sub/503.phtml
pub/errors/default/css/styles.css
apub/errors/sub/styles.css
-
Edite esses arquivos para fornecer conteúdo localizado no arquivo
503.phtml
e estilo personalizado no arquivostyles.css
.Verifique se os caminhos apontam para o diretório
errors
. O nome do diretório deve corresponder ao parâmetro de URL indicado emRewriteRule
. No exemplo anterior, o diretóriosub
é usado, que é especificado como um parâmetro emRewriteRule
(skin=sub
)