Como posso configurar o VirtualHost sem reiniciar o servidor da web Apache?

15

Eu mencionei aqui o servidor web apache porque eu estou usando esse.

Sadat
fonte

Respostas:

15

Acabei de dar uma olhada nesta página, mas não tenho certeza de quão relevante é para a sua.

Hospedagem virtual em massa configurada dinamicamente

A idéia básica é substituir todas as configurações estáticas por um mecanismo que as elabore dinamicamente. Isso tem várias vantagens:

  1. Seu arquivo de configuração é menor, portanto o Apache inicia mais rapidamente e usa menos memória.
  2. Adicionar hosts virtuais é simplesmente uma questão de criar os diretórios apropriados no sistema de arquivos e as entradas no DNS - você não precisa reconfigurar ou reiniciar o Apache.

ATUALIZAR

Adicionando hosts virtuais sem reiniciar o Apache

Descobriu-se que a solução era usar o VirtualDocumentRoot em vez da simples configuração antiga do DocumentRoot para um único host virtual. Isso permitiu especificar a variável $ 0 como parte do valor. Então, acabamos tendo o "VirtualDocumentRoot / somedir / $ 1".

TigerTiger
fonte
24

Faça as alterações nos VirtualHosts e faça

apache2ctl configtest

Para garantir que não haja erros de sintaxe pendentes, execute o seguinte procedimento:

apache2ctl graceful

ou

/etc/init.d/apache2 graceful

O sinal USR1 ou normal faz com que o processo pai avise os filhos a sair após a solicitação atual (ou a sair imediatamente se não estiverem servindo nada). O pai relê seus arquivos de configuração e reabre seus arquivos de log. À medida que cada filho morre, o pai o substitui por um filho da nova geração da configuração, que começa a atender novos pedidos imediatamente.

Basicamente, todas as conexões existentes permanecem intactas, portanto não é o mesmo que uma reinicialização completa - é assim que eu costumo fazer isso em servidores de produção com dezenas de sites.

meder omuraliev
fonte