Como compartilhar a configuração do host virtual Apache2 entre dois servidores linux?

1

Qual é a melhor opção para compartilhar diretivas de configuração entre os servidores Apache2. Isso é necessário para empregar um balanceamento de carga estável. As diretivas mais importantes são aquelas que definem os hosts virtuais.

Qualquer tipo de ajuda é muito apreciado.

    
por user59810 23.12.2013 / 14:18

3 respostas

1

Definimos um host como o "mestre", também (conforme a maioria das distribuições atualmente) a configuração do host virtual é mantida em uma pasta /etc/apache2/vhost.d/ e é alocada um arquivo por host virtual.

por exemplo,

www.example.com.conf
customers.example.com.conf
suppliers.example.com.conf
... and so on..

Em seguida, um rsync do cron que copia do "mestre" para os outros servidores.

    
por 23.12.2013 / 14:24
1

Existem várias maneiras de resolver isso:

  1. coloque a configuração no armazenamento centralizado, por exemplo, NFS ou CIFS.
  2. use um sistema de controle de versão (git, svn, etc) para armazenar as configurações e verificá-las nos servidores da Web
  3. sincronizar a configuração de um servidor para outro usando rsync ou scp

Você pode considerar a combinação da segunda opção com alguma ferramenta de provisionamento, como o Puppet ou o CFengine, para que o Apache seja recarregado quando a configuração central for alterada.

    
por 23.12.2013 / 14:25
1

Eu uso uma configuração unificada para nossos servidores de desenvolvimento, preparação e produção. A maior parte da configuração é a mesma para todos eles. Onde eles são diferentes, eu coloco as diferenças em definições de host virtual ou em <IfDefine> seções, por exemplo:

<IfDefine DEVELOPMENT>
...
</IfDefine>

Cada servidor inicia com uma opção de linha de comando que informa qual servidor é. Por exemplo, no servidor de desenvolvimento eu coloquei

export APACHE_ARGUMENTS="-DDEVELOPMENT"

em / etc / apache2 / envvars (isso é para o Debian - para RedHat você colocaria OPTIONS='-DDEVELOPMENT' em / etc / sysconfig / httpd). Portanto, além de seus hosts virtuais, o servidor de desenvolvimento tem toda a configuração dentro das seções <IfDefine DEVELOPMENT> .

Quando a configuração muda, eu confirmo as alterações no controle de versão, geralmente em desenvolvimento, e as pressiono para os outros hosts.

    
por 23.12.2013 / 14:29