Como instalar e configurar o Haproxy no Ubuntu Top 10.Top 10 LTS

Como instalar e configurar o Haproxy no Ubuntu Top 10.Top 10 LTS
Haproxy é um pacote de código aberto e leve que oferece alta disponibilidade e balanceamento de carga para programas baseados em TCP e HTTP. Ele distribui a carga entre os servidores da web e aplicativos. Haproxy está disponível para quase todas as distribuições Linux. É um balanceador de carga amplamente usado que é popular por sua eficiência, confiabilidade e baixa memória e pegada da CPU. Neste post, explicaremos como instalar e configurar o Haproxy em um sistema Ubuntu.

Nós configuramos três máquinas. Instalaremos o Haproxy em um servidor e os servidores da Web Apache em dois servidores. Nosso servidor Haproxy atuará como um balanceador de carga e distribuirá a carga entre os servidores da Web Apache.

Observação: O procedimento e os comandos mencionados neste post foram testados em Ubuntu 20.04 LTS (fossa focal). O mesmo procedimento também é válido para distribuições de Debian e Mint.

Detalhes da rede

Usaremos três servidores Ubuntu; Tudo na mesma rede. Os detalhes de nossos servidores são os seguintes:

Nome do host: HAPROXY, Endereço IP: 192.168.72.157 (servidor front -end)
HostName: Web-Server1, Endereço IP: 192.168.72.158 (servidores de back -end)
HostName: Web-Server2, Endereço IP: 192.168.72.159 (servidores de back -end)

Observação: Você deve ter privilégios sudo em todos os servidores.

Configuraremos uma máquina como balanceador de carga e os outros dois como servidores da web. O servidor Haproxy será o nosso servidor front-end que receberá as solicitações dos usuários e os encaminhará para os dois servidores da Web. Os servidores da Web serão nossos servidores de back -end que receberão esses pedidos encaminhados.

É assim que nossa configuração se parece:

Configurando servidores da web-backend Servers

Nesta seção, configuraremos dois servidores da Web (Web-Server1 e Web-Server2) como nossos servidores de back -end.

No Web-Server1 (192.168.72.158)

Execute as etapas abaixo em seu servidor da web. Certifique -se de substituir os nomes de host e endereços IP pelos endereços IP relevantes e nomes de host de seus servidores da Web.

1. Configure o arquivo hosts

Sobre Web-Server1, editar o /etc/hosts arquivo:

$ sudo nano /etc /hosts

Em seguida, adicione a entrada do nome do host para Haproxy servidor da seguinte forma:

HostName-of-Haproxy IP-Dress-O-Haproxy

Em nosso cenário, seria:

Haproxy 192.168.72.157

Configure o servidor da web Apache

Agora instale o Apache Web Server usando o comando abaixo no terminal. Você também pode visitar nossa postagem em Como instalar o servidor da web apache no Linux.

$ sudo apt install apache2

Em seguida, habilite e inicie o serviço Apache usando os comandos abaixo no terminal:

$ sudo systemctl Ativar apache2
$ sudo systemctl start apache2

Criar um arquivo de índice para Web-Server1 Usando o comando abaixo no terminal:

$ eco "

Olá! Este é o WebServer1: 192.168.72.158

"| sudo tee/var/www/html/index.html

Se um firewall estiver em execução no seu sistema, você precisará permitir o tráfego do Apache:

$ sudo ufw permitir 80/tcp

Em seguida, recarregue as configurações do firewall:

$ ufw recarregar

Agora tente acessar o site no seu navegador da web digitando http: // seguido pelo endereço IP ou pelo nome do host do seu servidor da web.

http: // hostname-or-ip-address

Como alternativa, você também pode usar o comando curl para testar a página da web.

$ CURL

No Web Server-2 192.168.72.159)

Execute as etapas abaixo no seu segundo servidor da Web. Certifique -se de substituir os nomes de host e endereços IP pelos endereços IP relevantes e nomes de host de seus servidores da Web.

1. Configure o arquivo hosts

Em Web-Server2, editar o /etc/hosts arquivo:

$ sudo nano /etc /hosts

Em seguida, adicione a entrada do nome do host para Haproxy servidor da seguinte forma:

Haproxy 192.168.72.157

2. Instale o servidor da web Apache

Agora instale o Apache Web Server usando o comando abaixo no terminal.

$ sudo apt install apache2

Em seguida, habilite e inicie o serviço Apache usando os comandos abaixo no terminal:

$ sudo systemctl Ativar apache2
$ sudo systemctl start apache2

Crie um arquivo de índice para Web-Server2 usando o comando abaixo no terminal:

$ eco "

Olá! Este é o servidor da web2: 192.168.72.159

"| sudo tee/var/www/html/index.html

Deixe o Apache no firewall:

$ sudo ufw permitir 80/tcp

E então recarregue as configurações do firewall:

$ ufw recarregar

Agora tente acessar o site no seu navegador da web digitando http: // seguido pelo endereço IP ou pelo nome do host.

http: // hostname-or-ip-address

Como alternativa, você pode usar o comando curl para testar a página da web.

$ CURL

Agora, nossos servidores da Web Apache estão prontos.

Configurando o servidor Balancer-Frontend de Balancer Haproxy

Nesta seção, criaremos um balanceador de carga haproxy para o nosso Servidores da Web. Este servidor Haproxy atuará como um servidor de front -end e aceita solicitações de entrada de clientes.

No Haproxy servidor (192.168.72.157), execute as etapas abaixo para configurar o balanceador de carga.

Configure o arquivo hosts

Editar o /etc/hosts Arquivo usando o comando abaixo no terminal:

$ sudo nano /etc /hosts

Adicione as seguintes entradas de nome do host para ambos Apache Servidores da Web junto com seu próprio nome de host:

192.168.72.157 HAPROXY
192.168.72.158 Web-Server1
192.168.72.159 Web-Server2

Agora salve e feche o /etc/hosts arquivo.

Instalando o balanceador de carga Haproxy

Agora, nesta etapa, estaremos instalando o Haproxy em um de nosso servidor Ubuntu (192.168.72.157). Para fazer isso, atualize o APT usando o seguinte comando no terminal:

Atualização $ sudo apt-get

Em seguida, atualize os pacotes usando o comando abaixo:

$ sudo apt-get upgrade

Agora instale o Haproxy usando o seguinte comando no terminal:

$ sudo sudo apt install haproxy

Depois que a instalação do servidor Haproxy terminar, você poderá confirmá -lo usando o comando abaixo no terminal:

$ haproxy -v

Ele mostrará a versão instalada do Haproxy em seu sistema, que verifica se o haproxy foi instalado com sucesso.

Configurando o Haproxy como um balanceador de carga

Na seção a seguir, configuraremos o Haproxy como um balanceador de carga. Fazer isso, editar o/etc/haproxy/haproxy.cfg arquivo:

$ sudo nano /etc/haproxy/haproxy.cfg

Anexar as seguintes linhas no Haproxy.Arquivo CFG substituindo os endereços IP por seus próprios endereços IP.

O Frontend da Web-Frondend Nas linhas de configuração acima, diz Haproxy para ouvir solicitações de entrada na porta 80 de 192.168.72.157 e depois os encaminhe para servidores de back -end configurados em Processo interno web-backend. Ao configurar, substitua os endereços IP pelos endereços IP relevantes de seus servidores da Web.

Configurando o monitoramento do haproxy

Com o Haproxy Monitoring, você pode visualizar muitas informações, incluindo status do servidor, dados transferidos de dados, tempo de atividade, taxa de sessão, etc. Para configurar o monitoramento do Haproxy, anexe as seguintes linhas no arquivo de configuração localizado em /etc/haproxy/haproxy.cfg:

Ouça estatísticas
vincular 192.168.72.157: 8080
modo http
option forwardfor
opção httpclose
Estatísticas Ativar
Estatísticas mostram lendas
STATS Atualizar 5s
Estatísticas URI /STATS
Estatísticas Realm Haproxy \ Statistics
estatísticas auth kbuzdar: kbuzdar #login usuário e senha para o monitoramento
estatísticas admin se true
Default_backend-backend

A configuração acima permite o haproxy “Estatísticas”Página usando o Estatísticas diretiva e protege com http autenticação básica usando o nome de usuário e a senha definidos pelo STATS AUTH diretivo.

Depois de terminar com as configurações, salve e feche o Haproxy.Arquivo CFG.

Agora verifique o arquivo de configuração usando o comando abaixo no terminal:

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

A saída a seguir mostra que as configurações estão corretas.

Agora, para aplicar as configurações, reinicie o serviço Haproxy:

$ sudo systemctl reiniciar haproxy.serviço

Ele vai parar e depois iniciar o serviço Haproxy.

Para verificar o status do serviço Haproxy, o comando seria:

$ sudo systemctl status haproxy.serviço

O ativo (em execução) O status na saída a seguir mostra que o servidor Haproxy está ativado e funcionando bem.

Aqui estão alguns outros comandos para gerenciar o servidor Haproxy:

Para iniciar o servidor Haproxy, o comando seria:

$ sudo SystemCtl Start Haproxy.serviço

Para parar o servidor Haproxy, o comando seria:

$ sudo systemctl pare haproxy.serviço

Caso você queira desativar temporariamente o servidor Haproxy, o comando seria:

$ sudo systemctl desative o haproxy.serviço

Para reativar o servidor Haproxy, o comando seria:

$ sudo systemctl atability haproxy.serviço

Teste haproxy

Antes de testar a configuração do Haproxy, verifique se você tem conectividade com servidores da Web. Do seu servidor Haproxy, ping nos servidores da Web por seus endereços IP ou nomes de hosts.

$ ping hostname-ou-ip-address

A saída a seguir mostra que o servidor Haproxy pode alcançar os dois servidores da Web.

Teste o proxy HA usando um navegador da web

Agora, no seu servidor Haproxy, abra qualquer navegador da web e digite http: // seguido pelo endereço IP do servidor Haproxy, que no nosso caso é 192.168.72.157.

http: // 192.168.72.157

O servidor Haproxy enviará alternativamente a solicitação para os dois servidores da Web em um método Round-Robin. Você pode testar isso recarregando a página da web algumas vezes.

Esta é a resposta que recebemos quando visitamos o http: // 192.168.72.157 Pela primeira vez:

Esta é a resposta que recebemos quando recarregamos a página da web:

Você também pode usar o nome do host no lugar do endereço IP do servidor Haproxy.

Teste o proxy HA usando o CURL

Você também pode usar o comando curl no Linux para testar a configuração do Haproxy. Abra o terminal e digite ondulação seguido pelo endereço IP ou pelo nome do host do servidor Haproxy.

$ CURL 192.168.72.157

ou

$ Curl Haproxy

Execute o comando curl algumas vezes e você verá a resposta alternando entre os dois servidores da Web.

Em vez de executar os comandos várias vezes, você também pode executar o seguinte script de uma linha para testar o servidor Haproxy:

$ enquanto é verdadeiro; Faça Curl 192.168.72.157; sono 1; feito

Testando o monitoramento do haproxy

Para acessar a página de monitoramento do haproxy, digite http: // Seguido pelo endereço IP/nome do host do servidor Haproxy e pela porta 8080/estatísticas:

http: // 192.168.72.157: 8080/estatísticas

ou

http: // haproxy: 8080/estatísticas

A seguinte caixa de autenticação aparecerá. Digitar o nome de usuário e senha você configurou anteriormente nas configurações e depois pressione OK.

Este é o relatório de estatísticas para o nosso servidor Haproxy.

Lá você tem a instalação e configuração do balanceador de carga Haproxy no sistema Linux. Acabamos de discutir a configuração e a configuração básicas do Haproxy como um balanceador de carga para servidores da Web Apache. Também analisamos alguns comandos para gerenciar o servidor Haproxy. No final, testamos o balanceamento de carga através do navegador e do comando curl. Para mais informações, visite a documentação oficial do Haproxy