Haproxy é usado por sites populares, como Tumblr, Github e Stackoverflow. Neste guia, vamos levá -lo pela instalação do Haproxy em uma configuração de servidores da web que são alimentados usando Nginx.
Configuração do laboratório
3 instâncias de servidores do CentOS 7, como mostrado
Endereços IP do nome do hostEtapa 1: edite o arquivo /etc /hosts para o balanceador de carga
Para começar, faça login no sistema de balanceador de carga e modifique o arquivo /etc /hosts para incluir os nomes de host e endereços IP dos dois servidores da Web, como mostrado
$ vim /etc /hosts
3.19.229.234 Server_01
3.17.9.217 Servidor-02
Uma vez feito, salve as alterações e saia do arquivo de configuração.
Agora vá para cada um dos servidores da Web e atualize o /etc/hosts Arquivo com o endereço IP e o nome do host do balanceador de carga
3.17.12.132 Balancer de carga
Depois disso, confirme que você pode ping no balanceador de carga do Server_01
E da mesma forma do servidor_02
Além disso, verifique se você pode ping nos servidores do balanceador de carga.
Perfeito ! Todos os servidores podem se comunicar com o balanceador de carga!
Etapa 2: Instale e configure o proxy HA no balanceador de carga
Como o HA Proxy está prontamente disponível no Repositório Oficial do CentOS, vamos instalá -lo usando o gerenciador de pacotes YUM ou DNF.
Mas como sempre, atualize o sistema primeiro
# yum atualização
Em seguida, instale o proxy HA como mostrado
# yum instalar haproxy
Após a instalação bem -sucedida, navegue até o diretório Haproxy.
# cd /etc /haproxy
As melhores práticas exigem que faça backup de qualquer arquivo de configuração antes de fazer modificações. Então, faça backup do Haproxy.cfg Arquivo renomeando -o.
# MV Haproxy.CFG Haproxy.cfg.Bak
Em seguida, prossiga e abra o arquivo de configuração
vim haproxy.cfg
Certifique -se de fazer a modificação como mostrado
#---------------------------------------------------------------------
# Configurações globais
#---------------------------------------------------------------------
global
log 127.0.0.1 configuração local2 #log
chroot/var/lib/haproxy
pidfile/var/run/haproxy.PID
Maxconn 4000
Usuário Haproxy #Haproxy em execução sob o usuário e grupo "Haproxy"
Grupo Haproxy
Daemon
# Ligue o soquete do Unix Stats Unix
estatísticas soquete/var/lib/haproxy/estatísticas
#---------------------------------------------------------------------
# Padrões comuns de que todas as seções 'ouvir' e 'back -end' vão
# Use se não for designado em seu bloco
#---------------------------------------------------------------------
padrões
modo http
log global
Opção httplog
Opção dontLognull
Opção HTTP-SERVER Close
opção a seguir, exceto 127.0.0.0/8
Opção RECREVELA
EXECUTAS 3
Tempo limite HTTP-REQUEST 10S
Fila de tempo limite 1M
Timeout Connect 10s
Cliente de tempo limite 1M
Timeout Server 1M
Timeout HTTP-Keep-Alive 10s
Timeout Verifique 10s
Maxconn 3000
#---------------------------------------------------------------------
#Haproxy Monitoring Config
#---------------------------------------------------------------------
Ouça Haproxy3-Monitoring *: 8080 #Haproxy Monitoring Run na porta 8080
modo http
option forwardfor
opção httpclose
Estatísticas Ativar
Estatísticas mostram lendas
STATS Atualizar 5s
Estatísticas URI /STATS #URL para monitoramento de Haproxy
Estatísticas Realm Haproxy \ Statistics
Estats Auth Password123: Password123#Usuário e senha para fazer login no painel de monitoramento
estatísticas admin se true
Default_backend App-Main #Isso é opcionalmente para monitorar o back-end
#---------------------------------------------------------------------
# Configuração do front -end
#---------------------------------------------------------------------
Frontend Main
Bind *: 80
Opção HTTP-SERVER Close
option forwardfor
default_backend app-main
#---------------------------------------------------------------------
# Back -end Round Robin como algoritmo de equilíbrio
#---------------------------------------------------------------------
back-end app-main
Balance Roundrobin #Falance Algorithm
opção httpchk cabeça / http / 1.1 \ r \ nhost: \ localhost
#Verifique se o aplicativo do servidor está em alta e a cura - 200 Código de status
Servidor servidor_01 3.19.229.234: 80 Verifique #nginx1
Servidor servidor_02 3.17.9.217: 80 Verifique #nginx2
Certifique -se de modificar o nome do host dos servidores da web e os endereços IP, conforme indicado nas duas últimas linhas. Salve as mudanças e saia.
O próximo passo será configurar o RSYSLog para poder registrar estatísticas de Haproxy.
# vim /etc /rsyslog.conf
Certifique -se de descomentar as linhas abaixo para permitir conexões UDP
$ Modload imudp
$ UDPSERVERRUN 514
Em seguida, prossiga e crie um novo arquivo de configuração Haproxy.conf
# vim /etc /rsyslog.D/Haproxy.conf
Cole as seguintes linhas, salvar e sair
Local2.= info/var/log/haproxy-access.LOG #para acessar log
Local2.aviso/var/log/haproxy-info.Log #para informações de serviço - back -end, LoadBalancer
Para que as alterações entrem em vigor reinicie o daemon rsysLog como mostrado:
# SystemCtl Reiniciar rsysLog
Em seguida, inicie e habilite o haproxy
# SystemCtl Iniciar o RSYSLOG
# SystemCtl Ativar rsysLog
Verifique se Haproxy está funcionando
# status systemctl rsyslog
Etapa 3: Instale e configure o nginx
Agora, a única parte restante é a instalação do nginx. Faça login em cada um dos servidores e atualize primeiro os pacotes do sistema:
# yum atualização
Em seguida, instale o EPEL (pacotes extras para o Enterprise Linux)
# Yum Instale o lançamento de Epel
Para instalar o nginx, execute o comando:
# yum install nginx
Em seguida, inicie e habilite o nginx
# SystemCtl Iniciar nginx
# SystemCtl Ativar nginx
Então vamos modificar o índice.Arquivo HTML em ambos os casos para demonstrar ou simular como o balanceador de carga é capaz de distribuir o tráfego da web em ambos os servidores.
Para servidor_01
# echo "server_01. Ei ! Bem -vindo ao primeiro servidor da web "> índice.html
Para servidor_02
# echo "server_02. Ei ! Bem -vindo ao segundo servidor da web "> índice.html
Para que as mudanças sejam efetuadas, reinicie o nginx
# SystemCtl Reiniciar nginx
Etapa 4: testando se o balanceador de carga está funcionando
Finalmente estamos no ponto em que queremos ver se a configuração está funcionando. Portanto, faça login no balanceador de carga e execute o comando Curl repetidamente
# Curl 3.17.12.132
Você deve obter saída alternada no terminal mostrando o valor do índice.html de server_01 e server_02
Agora vamos testar usando um navegador da web. Navegue pelo endereço IP do balanceador de carga
http: // load-balancer-ip-address
A primeira página exibirá o conteúdo de qualquer um dos servidores da Web
Agora atualize a página da web e verifique se ela exibe o conteúdo do outro servidor da web
Perfeito ! O balanço de carga está distribuindo o tráfego de IP igualmente entre os dois servidores da Web !
Isso encerra este tutorial sobre como você pode instalar, bem como configurar o Haproxy no CentOS 8. Seu feedback será muito apreciado.