Servidor Web Redundante

0

Eu tenho um servidor ubuntu 14.04 que usamos como nosso servidor web (apache). Temos um site público que é construído sobre o Drupal, usa um banco de dados MySQL e também temos alguns arquivos que são enviados para o nosso site e armazenados em nosso sistema de arquivos.

Como agora tenho apenas um servidor web, estou tentando encontrar uma solução para redundância. Há muitas escolhas e não tenho certeza do que é melhor para mim.

Eu vi o rsyncmirrir, o apt-mirror, o clustering, etc. Não sei ao certo qual será o melhor para mim.

    
por robby 23.06.2015 / 23:21

2 respostas

0

Experimente o NGINX como um balanceador de carga para dois servidores da Web: link

Use o rsync sobre o ssh para manter as raízes do seu documento em sincronia. Clusterizar o MySQL será mais complicado.

    
por jnajna 24.06.2015 / 00:54
0

Você tem algumas opções.

Aqui está minha opinião, e você precisará de um total de 4 servidores:

  • Comece movendo seu banco de dados para fora do servidor agora e para um servidor dedicado ao banco de dados ( 'DB Server' , nº 1 nessa sugestão). Migre-o para sua própria instância do MySQL em um servidor separado e configure o firewall desse servidor (e MySQL) para escutar conexões SOMENTE dos dois servidores da Web.
  • No servidor MySQL, crie um usuário que tenha acesso aos bancos de dados / tabelas de que precisa. Tente evitar o acesso do DBA a este usuário, mas mantenha os creds idênticos para cada servidor, ou configure dois usuários do banco de dados MySQL para ele, um para cada servidor .
  • Guarde sua primeira caixa do Apache ( 'Apache Server One' , # 2 nesta sugestão) agora. Adicione em outro. ( 'Apache Server Two' , # 3 nesta sugestão).
  • Bloqueie o acesso do usuário nos servidores da Web para que seja extremamente limitado (Somente Autenticação de Chave SSH, Nenhum Login Root, etc.).
  • Configure o Apache em ambos os servidores web e configure os arquivos a serem sincronizados (se você tem isso como versão git controlada ou no entanto, verifique se esses arquivos e configurações no Apache são idênticos, exceto para usuários DB se você usar diferentes usuários do MySQL com os mesmos direitos de acesso para cada servidor).
  • Configure o NGINX para balanceamento de carga em outro servidor, que será onde o 'website' termina a partir de ( 'Load Balancer' , # 4 nessa sugestão) e, a partir daí, saldos de carga para os servidores Apache, passando o tráfego de forma transparente.

A única coisa é, se você realmente quiser "balanceamento de carga" devido à carga pesada, primeiro observe como o conteúdo do seu site é dinâmico e se ele não for muito dinâmico e principalmente conteúdo estático (ou conteúdo CMS que não o faz) t mudar frequentemente), considere o uso de cache no seu servidor Apache em vez de balanceamento de carga ...

    
por Thomas Ward 24.06.2015 / 01:05