Esquema para configuração comum do NGINX em vários servidores

1

Minha configuração consiste em vários servidores, incluindo produção, failover de produção, instâncias do desenvolvedor, etc. Os servidores de failover de produção e produção trocam funções periodicamente. Eu gostaria que todos os servidores tivessem ambientes consistentes. Eu faço isso no Apache usando hosts virtuais e ativando / desativando-os conforme necessário.

Um problema que eu tive é que o arquivo de configuração principal do NGINX tem configurações que são ajustadas para o hardware do servidor, particularmente o contexto events . Atualmente estou inclinado a ter um arquivo events-[subdomain].conf para cada servidor e criar um link simbólico para ele chamado events.conf . Eu poderia usar o arquivo apropriado apenas alterando o link simbólico.

events {
    include events.conf;
}

Esta é uma boa maneira de lidar com isso? Desvantagens? Melhores soluções?

    
por Sonny 13.12.2016 / 17:17

1 resposta

1

Resposta curta: sim, mas pode haver uma maneira um pouco melhor.

Resposta mais longa: No Nginx, cada servidor ou site é normalmente definido em um arquivo externo, geralmente nos subdiretórios "sites habilitados" ou "habilitados para sites" do diretório de configuração nginx - chamei meus sites habilitados como ele faz mudando para mais rápido com conclusão de tabulação. O arquivo de configuração principal do Nginx geralmente inclui tudo neste diretório.

Você pode colocar todos os arquivos de configuração de todos os servidores nesse subdiretório e sincronizar o diretório ou fazer referência a um diretório em um local compartilhado. O nginx.conf para cada servidor poderia incluir apenas os arquivos requeridos por esse servidor naquele momento. Isso seria razoavelmente rápido para mudar.

No entanto, a automação é boa. Se você puder definir seus arquivos de configuração para que funcionem em todos os servidores dessa função, talvez seja possível evitar alterações manuais, e isso pode funcionar melhor por trás de um balanceador de carga. O nginx.conf pode ser diferente, mas o servidor configura o mesmo. Isso deve ser bem fácil.

    
por 13.12.2016 / 22:04

Tags