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:
Instalando o Haproxy no Debian 10
Para o nosso guia, assumiremos a seguinte configuração de endereço IP:
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:
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.