Pergunta

Eu tenho um site rodando em uma pilha Linux / Apache / Tomcat que precisa ser tirada automaticamente desligada a cada poucos meses para a manutenção do servidor, que vai durar uma quantidade arbitrária de tempo. Quais são algumas opções para obter Apache para colocar e levar para baixo uma página de "manutenção do servidor"?

Eu preciso ser capaz de controlar esta via script shell. (As respostas que o Google forneceu giram em torno de editar manualmente a configuração do servidor, e eu não quero estar no escritório às 3 da manhã!) Acho que eu poderia fazer a queda de script em um arquivo .htaccess e excluí-lo quando ele é feito, mas que parece menos do que gracioso.


Resposta comentário:

resposta de Mike parece que a resposta de melhores práticas, embora o que eu vou fazer é provavelmente mais como Dan resposta porque o terceiro hospedagem controles provedor o balanceador de carga e eu não quero lidar com essa confusão. Obrigado!

Foi útil?

Solução

Nós temos uma configuração que faz exatamente isso, mas inclui mais do que apenas apache. Há um balanceador de carga e dois servidores por trás dele. Ambos os servidores web servem site usando Apache e um deles tem um host virtual adicional que serve página de manutenção de HTML simples. O balanceador de carga tem um serviço HTTP virtual que redireciona solicitações para servidores reais. Este serviço virtual tem três servidores reais: dois são servidores reais e terceiro é um IP virtual no segundo servidor que aponta para página de manutenção. Os servidores reais são ponderados com o terceiro com o menor peso possível e os usos de balanceamento de carga fixos ponderação algoritmo. Então, quando sites reais ficar offline por qualquer motivo, todas as solicitações de ir para acolhimento de manutenção e usuários ver a página de erro agradável com um número de telefone. Na verdade eu uso um pequeno script para verificar a saúde de servidores reais, para que a página de manutenção exibe assim que houver qualquer sinal de problemas.

PS. Eu uso Carga Mestre 1500 para loadbalancer.

Outras dicas

é muito fácil para iniciar o Apache com um arquivo de configuração personalizado. No meu sistema:

httpd -f <config>

Eu uso isso regularmente em combinação com um script shell um uma configuração extremamente simples como um espaço reservado manutenção. O script simplesmente pára meu regulares Apache, e começa isto.

fazer 2 arquivos de configuração e trocá-los frente e para trás

Se apenas um pouco do arquivo vai mudar, fundi-los com vir tipo de pré-processamento e gerar tanto o padrão e as versões "off-line" de uma fonte e de swap entre aqueles.

IIRC a configuração do apache arquivos são compilação usando CPP qualquer maneira

Temos feito algo semelhante. Temos um index.html que redireciona para a nossa página do site principal. Quando temos de manutenção que executar um script que altera o redirecionamento no arquivo html. Em seguida, através do script em cron e viola janela de manutenção automática.

Espero que ajude!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top