Ubuntu

Como instalar e configurar HAproxy no Ubuntu 20.04 LTS

Como instalar e configurar HAproxy no Ubuntu 20.04 LTS
HAproxy é um pacote leve e de código aberto 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 de aplicativos. HAproxy está disponível para quase todas as distribuições Linux. É um balanceador de carga amplamente usado, popular por sua eficiência, confiabilidade e pouca memória e ocupação de CPU. Neste post, vamos explicar como instalar e configurar o HAproxy em um sistema Ubuntu.

Configuramos três máquinas. Instalaremos HAproxy em um servidor e os servidores web Apache em dois servidores. Nosso servidor HAproxy agirá então como um balanceador de carga e distribuirá a carga entre os servidores da web Apache.

Observação: O procedimento e os comandos mencionados nesta postagem foram testados em Ubuntu 20.04 LTS (Fossa Focal). O mesmo procedimento também é válido para distribuições Debian e Mint.

Detalhes da rede

Estaremos usando três servidores Ubuntu; todos 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)
Nome do host: web-server1, endereço IP: 192.168.72.158 (servidores de back-end)
Nome do host: web-server2, endereço IP: 192.168.72.159 (servidores back-end)

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

Vamos configurar uma máquina como balanceador de carga e as outras duas como servidores web. O servidor HAproxy será nosso servidor front-end que receberá as solicitações dos usuários e as encaminhará para os dois servidores web. Os servidores web serão nossos servidores de back-end que receberão essas solicitações encaminhadas.

Nossa configuração é assim:

Configurando servidores da web - servidores de back-end

Nesta seção, iremos configurar dois servidores web (web-server1 e web-server2) como nossos servidores de back-end.

No servidor web1 (192.168.72.158)

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

1. Configurar arquivo hosts

Sobre web-server1, edite 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-address-of-HAproxy

Em nosso cenário, seria:

HAproxy 192.168.72.157

2. Configurar servidor web Apache

Agora instale o servidor web Apache usando o comando abaixo no Terminal. Você também pode visitar nosso post em Como instalar o servidor 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 enable apache2
$ sudo systemctl start apache2

Crie um arquivo de índice para web-server1 usando o comando abaixo no Terminal:

$ echo "

Olá! Este é webserver1: 192.168.72.158

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

Se um firewall estiver sendo executado em seu sistema, você precisará permitir o tráfego do Apache através dele:

$ sudo ufw allow 80 / tcp

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

$ ufw reload

Agora tente acessar o site em seu navegador digitando http: // seguido pelo endereço IP ou pelo nome do host do seu servidor 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 servidor web-2 192.168.72.159)

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

1. Configurar arquivo hosts

Dentro web-server2, edite 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 servidor web Apache 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 enable apache2
$ sudo systemctl start apache2

Crie um arquivo de índice para web-server2 usando o comando abaixo no Terminal:

$ echo "

Olá! Este é webserver2: 192.168.72.159

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

Permitir Apache no firewall:

$ sudo ufw allow 80 / tcp

e recarregue as configurações de firewall:

$ ufw reload

Agora tente acessar o site em seu navegador 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 balanceador de carga HAproxy - servidor front-end

Nesta seção, vamos configurar um balanceador de carga HAproxy para nosso servidores web. Este servidor HAproxy atuará como um servidor 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.

1. Configurar arquivo hosts

Edite o / etc / hosts arquivo usando o comando abaixo no Terminal:

$ sudo nano / etc / hosts

Adicione as seguintes entradas de nome de host para ambos Apache servidores da web junto com seu próprio nome de host:

192.168.72.157 HAproxy
192.168.72.158 servidor web1
192.168.72.159 servidor web2

Agora salve e feche o / etc / hosts Arquivo.

Instalando o balanceador de carga HAproxy

Agora nesta etapa, iremos instalar o HAproxy em um de nossos servidores Ubuntu (192.168.72.157). Para fazer isso, atualize o apt usando o seguinte comando no Terminal:

$ sudo apt-get update

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

Assim que a instalação do servidor HAproxy for concluída, você pode confirmá-la usando o comando abaixo no Terminal:

$ haproxy -v

Ele irá mostrar a você a versão instalada do HAproxy em seu sistema, que verifica se o HAproxy foi instalado com sucesso.

Configurando HAproxy como um balanceador de carga

Na seção a seguir, configuraremos o HAproxy como um balanceador de carga. Para fazer isso, edite o / etc / haproxy / haproxy.cfg Arquivo:

$ sudo nano / etc / haproxy / haproxy.cfg

Anexe as seguintes linhas no haproxy.arquivo cfg substituindo os endereços IP por seus próprios endereços IP.

O frontend web-frontend nas linhas de configuração acima diz ao HAproxy para ouvir as solicitações de entrada na porta 80 de 192.168.72.157 e, em seguida, encaminhe-os para servidores back-end configurados sob Processo interno backend da web. Durante a configuração, substitua os endereços IP pelos endereços IP relevantes de seus servidores da web.

Configurando o monitoramento HAproxy

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

ouvir estatísticas
vincular 192.168.72.157: 8080
modo http
opção encaminhar para
opção httpclose
habilitar estatísticas
estatísticas show-legends
atualização de estatísticas 5s
estatísticas uri / estatísticas
stats realm Haproxy \ Statistics
stats auth kbuzdar: kbuzdar        # Logar Usuário e Senha para o monitoramento
administrador de estatísticas se TRUE
default_backend web-backend

A configuração acima ativa o HAproxy “Estatísticasâ € página usando o Estatísticas diretiva e a protege com http autenticação básica usando o nome de usuário e senha definidos pelo autenticação de estatísticas diretriz.

Assim que terminar 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 irá parar e, em seguida, 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) status na saída a seguir mostra que o servidor HAproxy está habilitado 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 stop haproxy.serviço

Caso queira desativar temporariamente o servidor HAproxy, o comando seria:

$ sudo systemctl disable haproxy.serviço

Para reativar o servidor HAproxy, o comando seria:

$ sudo systemctl enable haproxy.serviço

Teste HAproxy

Antes de testar a configuração do HAproxy, certifique-se de ter conectividade com os servidores da web. Do seu servidor HAproxy, execute ping em ambos os servidores da web por seus endereços IP ou nomes de host.

$ ping hostname-or-ip-address

A saída a seguir mostra que o servidor HAproxy pode alcançar ambos os servidores da web.

Teste o proxy HA usando um navegador da web

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

http: // 192.168.72.157

O servidor HAproxy irá, alternativamente, enviar a solicitação para ambos os 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 HA Proxy usando 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 o 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:

$ while true; fazer curl 192.168.72.157; dormir 1; feito

Testando Monitoramento HAproxy

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

http: // 192.168.72.157: 8080 / estatísticas

ou

http: // HAproxy: 8080 / stats

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

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

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

Como instalar o League Of Legends no Ubuntu 14.04
Se você é fã de League of Legends, esta é uma oportunidade para testar o funcionamento de League of Legends. Observe que LOL é suportado no PlayOnLinu...
Instale o último jogo de estratégia OpenRA no Ubuntu Linux
OpenRA é um motor de jogo de estratégia em tempo real Libre / Free que recria os primeiros jogos Westwood como o clássico Command & Conquer: Red Alert...
Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...