Instale o Haproxy para configurar o servidor de balanceamento de carga no Debian Top 10

Instale o Haproxy para configurar o servidor de balanceamento de carga no Debian Top 10

O balanceamento de carga é a prática mais comum de distribuir tráfego da Web entre vários servidores de back-end. Isso torna o aplicativo altamente disponível, mesmo que alguns dos servidores caem por algum motivo. O balanceamento de carga aumenta a eficiência e a confiabilidade de um aplicativo da web. O balanceador de carga Haproxy é usado para o mesmo objetivo. É o balanceador de carga mais amplamente usado nas indústrias. De acordo com o site oficial, Haproxy é usado por empresas líderes como AWS, Fedora, Github e muito mais.

Haproxy ou alta disponibilidade proxy fornece alta disponibilidade e solução proxint. Está escrito em C e trabalha em camadas de rede e aplicativos do modelo TCP/IP. A melhor coisa é que ele tem uma edição da comunidade gratuita e é um aplicativo de código aberto. Funciona em sistemas operacionais Linux, FreeBSD e Solaris. A edição corporativa também está lá, mas tem um preço.

Neste guia, veremos Como instalar o Haproxy e configurar o servidor de balanceamento de carga no Debian 10.

Pré -requisitos:

  1. Acesso "sudo" a todas as máquinas e conhecimento básico dos comandos de execução no terminal Linux.
  2. Endereços IP privados adicionados aos servidores de balanceador de carga e back-end.
  3. Sistema operacional Debian 10 instalado em todas as máquinas.

Instalando o Haproxy no Debian 10

Para o nosso guia, assumiremos a seguinte configuração de endereço IP:

  1. HAPROXY LOAD-BALANCER 10.0.12.10
  2. Servidor da Web1: Endereço IP: 10.0.12.15
  3. Servidor da Web2: Endereço IP: 10.0.12.16

Passo 1. Atualize o repositório e pacotes do Sistema Debian

Primeiro, execute os comandos abaixo em todos os sistemas para atualizar os pacotes de software para o mais recente.

$ sudo apt update
$ sudo apt upgrade -y

Etapa: 2 Instale o nginx nos servidores de back-end

Prepare seus servidores de back-end instalando o Nginx Web Server em cada. Você também pode optar por instalar outros servidores da Web, como o Apache.

Para instalar o NGINX, execute os seguintes comandos em cada servidor de back-end em seu ambiente:

$ sudo apt install nginx

Etapa: 3 Após a instalação do Nginx nos servidores de back-end, inicie o serviço, como mostrado abaixo:

$ sudo systemctl start nginx

DICA: Também podemos gerenciar o servidor da web nginx usando o comando abaixo:

$ sudo /etc /init.d/nginx "opção"
Opção: Inicie o Recarregar o status de reiniciar parada

Etapa: 4 Crie páginas de índice personalizado na pasta da web de cada servidor da web nginx. Isso nos ajudará a distinguir qual servidor de back-end está atendendo às solicitações recebidas.

Em cada servidor da Web, execute as seguintes tarefas:

Backup do arquivo de índice original usando o seguinte comando:

$ sudo cp/usr/share/nginx/html/index.html/usr/share/nginx/html/index.html.orig

Adicione texto personalizado ao índice.arquivo html. Estamos adicionando o endereço IP de cada servidor da web.

Para o servidor da web 1:

$ sudo echo "servidor da web 1: 10.0.12.15 "| sudo tee/usr/share/nginx/html/index.html

Para o servidor da web 2:

$ sudo eco "servidor web 2: 10.0.12.16 "| sudo tee/usr/share/nginx/html/index.html

Você também pode usar o VI Editor se se sentir mais confortável com isso. Isso é mostrado abaixo:

$ sudo vi/usr/share/nginx/html/index.html

Quando o arquivo for aberto, insira o texto e salve o arquivo.

Abra o arquivo de host virtual padrão no diretório “/etc/nginx/sites-averlable/”.

$ sudo nano/etc/nginx/sites-disponível/padrão

Agora dentro do bloco do servidor, altere a diretiva raiz de "/var/www/html" para "/usr/share/nginx/html".

Para verificar a configuração do NGINX, execute o seguinte comando:

$ sudo nginx -t

Etapa 5: agora reinicie o serviço usando o comando:

$ sudo systemctl reinicie nginx

Você pode verificar o status do nginx usando o seguinte comando:

$ sudo status systemctl nginx

Etapa: 6 Para instalar o Haproxy no Debian 10 (Buster), execute o seguinte comando no balanceador de carga.

$ sudo apt install haproxy -y

Dica: Depois que o Haproxy é instalado, você pode gerenciar o Haproxy por meio de um script init. Para isso, defina o parâmetro "ativado" como 1 em "/etc/padrão/haproxy", como mostrado abaixo:

$ sudo vi/etc/default/haproxy
Ativado = 1

Agora a opção a seguir pode ser usada com um script init:

$ sudo serviço haproxy “opção.”
Opção: Inicie o Recarregar o status de reiniciar parada

Etapa: 7 Agora configure o Haproxy Load-Balancer, editando o arquivo de configuração padrão do Haproxy, I I.e. “/Etc/haproxy/haproxy.CFG ”. Para editar este arquivo, execute o seguinte comando

$ sudo vi/etc/haproxy/haproxy.cfg

Dica: Por favor, faça backup do arquivo original para que, caso algo dê errado, estaremos todos seguros. Para executar o backup, use o seguinte comando:

$ sudo cp/etc/haproxy/haproxy.cfg/etc/haproxy/haproxy.cfg.orig

Agora vá para o final do arquivo e edite as seguintes informações:

Frontend Local_server
vincular 10.0.12.10:80
modo http
SERVER DESFAULT_BACKEND
Backend WebServer
modo http
Balance Roundrobin
option forwardfor
HTTP-REQUEST CAPETO X-PORTED-PORT %[DST_PORT]
http-request add-header x forwarded-proto https se ssl_fc
opção httpchk cabeça / http / 1.1rnhost: localhost
servidor web1 10.0.12.15:80
servidor web2 10.0.12.16:80

Observação: Não se esqueça de alterar os endereços IP no arquivo acima para o que você adicionou aos seus servidores da Web.

Etapa: 8 Verifique a sintaxe de configuração do arquivo acima com o seguinte comando:

$ sudo haproxy -c -f/etc/haproxy/haproxy.cfg

Se tudo correr certo, ele mostrará uma saída como: “O arquivo de configuração é válido.”Se você receber algum erro na saída, verifique novamente seu arquivo de configuração e verifique -o novamente.

Etapa: 9 Agora reinicie o serviço Haproxy para aplicar as mudanças

$ sudo service haproxy reiniciar

Testando a configuração

Agora é hora de ver se nossa configuração está funcionando corretamente. Digite IP do sistema de carga-balanceador em um navegador da web (no nosso caso, é 10.0.12.10) e atualize a página continuamente por 2-4 vezes para ver se o balanceador de carga Haproxy está funcionando corretamente. Você deve ver diferentes endereços IP ou qualquer texto que você tenha inserido no índice.Arquivo HTML quando você continua a atualizar a página várias vezes.

Outra maneira de verificar é levar um servidor da web offline e verificar se outro servidor da web está atendendo às solicitações.

É tudo por agora! Tente experimentar o Haproxy para saber mais sobre como funciona. Para e.g., podes tentar:

  • Integração de diferentes servidores da web ao lado do nginx.
  • Alterar o algoritmo de balanceamento de carga para algo diferente de Round-Robin.
  • Configurando a verificação de saúde do Haproxy para determinar se um servidor de back-end está funcionando ou não.
  • Aplicando sessões pegajosas para conectar um usuário ao mesmo servidor de back-end.
  • Usando as estatísticas do Haproxy para obter informações sobre o tráfego nos servidores.

Haproxy tem uma extensa documentação disponível para a versão Haproxy Community Edition e Haproxy Enterprise. Explore esta documentação para obter mais informações sobre como melhorar o desempenho e a confiabilidade do ambiente do seu servidor.

Este guia foi realizado com sucesso no Debian 10 (Buster). Tente instalar o Haproxy em outras distribuições baseadas em Debian, como Ubuntu, Linux Mint etc. Por favor, não se esqueça de compartilhar este guia com outras pessoas.