GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare HAProxy su Debian 9 / Ubuntu 16.04 Server

HAProxy è una soluzione gratuita e open source per l'elevata disponibilità e il bilanciamento del carico, può essere utilizzata anche per il proxy di applicazioni basate su TCP e HTTP. HAProxy può essere installato e configurato su Linux, Solaris e FreeBSD. HAProxy è la soluzione migliore per i siti Web che hanno un traffico enorme in quanto migliora le prestazioni e l'affidabilità del server tramite il bilanciamento del carico dei server e utilizzando le sue capacità di alta disponibilità

HAProxy è utilizzato da numerosi siti Web popolari tra cui GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter ed è utilizzato anche nel prodotto OpsWorks di Amazon Web Services. In questo tutorial impareremo a installare e utilizzare Haproxy su Debian 9 e anche per il server Ubuntu 16.04. Inizieremo innanzitutto con l'installazione di Haproxy su Debian 9,

Installazione di HAProxy su Debian 9

Attualmente l'ultima versione stabile di haproxy supportata su Debian 9 è la 1.8, installeremo solo quella. Per prima cosa dobbiamo abilitare il repository backports su Debian 9, per farlo usa il seguente comando,

[[email protetta] ~]# echo deb http://httpredir.debian.org/debian stretch-backports main | tee /etc/apt/sources.list.d/backports.list

Una volta terminato, abiliteremo un repository dedicato con il seguente comando,

[[email protetta] ~]# curl https://haproxy.debian.net/bernat.debian.org.gpg | apt-key add -[[email protected] ~]# echo deb http://haproxy.debian.net stretch-backports-1.8 main | tee /etc/apt/sources.list.d/haproxy.list

Ora possiamo installare haproxy usando i repository aggiunti sopra,

[[email protected] ~]# apt-get update[[email protected] ~]# apt-get install haproxy -t stretch-backports\*

Questo installerà l'haproxy sul sistema Debian 9, ora discuteremo dell'installazione sui sistemi Ubuntu 16.04.

Installazione di HAProxy su Ubuntu 16.04

HAProxy 1.8 è anche l'ultima versione per Ubuntu 16.04. Ubuntu ha PPA dedicato disponibile per l'installazione, installalo usando i seguenti comandi,

[[email protected] ~]$ sudo apt-get install software-properties-common[[email protected] ~]$ sudo add-apt-repository ppa:vbernat/haproxy-1.8

Dopo aver aggiunto i repository, installa haproxy 1.8 con il comando seguente,

[[email protected] ~]$ sudo apt-get update[[email protected] ~]$ sudo apt-get install haproxy

Ora abbiamo l'aproxy pronto. Ai fini di questo tutorial, configureremo HAProxy per bilanciare il carico delle richieste da un server di posta e un server web.

Carica bilanciamento di un server di posta con HAProxy

Per questo esempio, utilizzeremo due server SMTP con l'indirizzo IP 192.168.1.10 e 192.168.1.20 rispettivamente.

L'indirizzo IP per il server haproxy è 192.168.1.100.

Ora apporteremo le modifiche al file di configurazione HAProxy principale, ad esempio "/etc/haproxy/haproxy.cfg ' e quindi apportare le modifiche alla configurazione per il bilanciamento del carico dei due server SMTP,

 [[email protetto] ~] $ sudo vi /etc/haproxy/haproxy.cfgglobal log/dev/log local0 log0/dev/log local1 Avviso chroot/var/lib/haproxy utente haproxy group haproxy haproxy maxconn 1024 Daemondefaults Global Global Modalità TCP Opzione TCPLOG Opzione DontlognullFrontend Front_Smtp Bind *:25 Modalità TCP Default_backend Back_Smtpbackend Back_Smtp Modalità TCP Balance RoundRobin Server Smtp1 

qui la maggior parte delle opzioni sono state impostate per impostazione predefinita, le cose principali da cambiare qui sono "frontend ' &'backend ' sezioni.

frontend front_smtp

vincolare *:25

modalità tcp

default_backend back_smtp

Qui abbiamo definito un nome per frontend cioè front_smtp e abbiamo chiesto di prendere tutte le richieste dalla porta 25 con il parametro bind, infine abbiamo menzionato la sezione backend con il nome 'back_smtp' dove verranno distribuite tutte le richieste.

back-end back_smtp

modalità tcp

saldo round robin

server smtp1 192.168.1.10:25 verifica

server smtp2 192.168.1.20:25 verifica

In questa sezione, abbiamo stabilito un nome per il back-end, ovvero back_smtp e la modalità per la trasmissione sarà tcp Il metodo di bilanciamento del carico da utilizzare è "roundrobin '. Altri metodi di bilanciamento del carico che possono essere utilizzati sono round robin ponderato , Algoritmo dinamico round robin ,Algoritmo di connessione minima , Fonte. Infine abbiamo menzionato gli indirizzi dei server per entrambi i server SMTP.

Una volta apportate le modifiche, salva il file e riavvia il servizio haproxy per implementare le modifiche,

[[email protected] ~]$ sudo service haproxy restart

Il nostro server Haproxy è ora pronto per funzionare come bilanciatore di carico per il server di posta. Ora invece di utilizzare gli indirizzi del server SMTP, dobbiamo utilizzare l'indirizzo del server per HAPROXY, ad esempio 192.168.1.100:25, affinché il bilanciamento del carico haproxy funzioni.

Per verificare se il bilanciamento del carico per il nostro server smtp funziona possiamo usare telnet,

L'output del comando telnet dovrebbe essere simile al seguente:

[[email protected] ~]$ telnet 192.168.1.100 25Tentativo 192.168.1.100..Connesso a 192.168.1.100.Il carattere di escape è '^]'.220 smtp1.linuxtechi.com ESMTP Postfix

Ora esegui di nuovo il comando telnet,

[[email protected] ~]$ telnet 192.168.1.100 25Tentativo 192.168.1.100..Connesso a 192.168.1.100.Il carattere di escape è '^]'.220 smtp2.linuxtechi.com ESMTP Postfix

Notare la modifica nel server dei server di posta in entrambi gli output, che mostra che il bilanciamento del carico funziona correttamente. Ora discutiamo di un esempio arpossidico per il bilanciamento del carico di un server web.

Carica bilanciamento di un server Web con HAProxy

Lo stesso file verrà modificato "/etc/haproxy/haproxy.cfg". Utilizzeremo due server web (192.168.1.10 e 192.168.1.20) sul backend. L'indirizzo IP del server haproxy è 192.168.1.100.

Apri il file di configurazione principale di haproxy e apporta le seguenti modifiche,

 [[email protetto] ~] $ sudo vi /etc/haproxy/haproxy.cfgglobal log/dev/log local0 log0/dev/log local1 Avviso chroot/var/lib/haproxy utente haproxy group haproxy haproxy maxconn 1024 Daemondefaults Global Global modalità    http        opzione  httplog        opzione  dontlognullfrontend www-http   bind *:80    modalità http    default_backend apachebackend apache     modalità http     balance roundrobin      server web1 192.168.1.10     server web2 192.168.1.20

Salva il file e riavvia il servizio haproxy per implementare le modifiche,

[[email protected] ~]$ sudo service haproxy restart

Per verificare se il bilanciamento del carico funziona, possiamo posizionare due diverse pagine Web su entrambi i server. Come ad esempio, possiamo modificare index.html sul Webserver 1,

[[email protetta] ~]$ sudo vi /var/www/html/index.htmlQuesto è il WEB SERVER 1

e allo stesso modo sul server Web 2, possiamo modificare index.html per dire,

[[email protetta] ~]$ sudo vi /var/www/html/index.htmlQuesto è il WEB SERVER 2

Non dimenticare di riavviare il servizio web per implementare le modifiche apportate.

Ora usa l'indirizzo IP haproxy, 192.168.1.100 e accedi ad esso utilizzando un browser web.

Ogni volta che aggiorniamo il browser, dovremmo alternare le pagine Web da entrambi i server Web.

Ciò dimostra che anche il bilanciamento del carico del nostro server web funziona correttamente. Con questo concludiamo il nostro tutorial su come installare e utilizzare HAProxy su Debian 9 e Ubuntu 16.04. Non esitare a inviare le tue domande o suggerimenti utilizzando la casella dei commenti qui sotto


Ubuntu
  1. Come installare OpenLDAP Server su Debian o Ubuntu

  2. Come installare e configurare il server DHCP su Ubuntu 20.04

  3. Come configurare un server LAMP Ubuntu/Debian

  4. Come configurare il server DHCP su CentOS 7 / Ubuntu 18.04 / 16.04 / Debian 9

  5. Come installare e configurare il bilanciamento del carico HAProxy su Ubuntu 20.04

Come generare sosreport su Ubuntu 18.04 / Debian 9 Server

Come installare e configurare Nginx su Ubuntu 18.04 / Debian 9

Come configurare il server Bacula su Ubuntu 16.04

Come configurare OSSEC su Ubuntu - Parte 2

Come configurare OpenVPN su Ubuntu 16.04

Come installare HAProxy su Ubuntu 18.04 LTS