Το HAProxy (High Availability Proxy) είναι ένα δημοφιλές λογισμικό που μπορεί να χρησιμοποιηθεί ως αντίστροφος διακομιστής μεσολάβησης και εξισορροπητής φορτίου. Μπορεί να εγκατασταθεί εύκολα στο Ubuntu 22.04 με λίγα μόνο βήματα.

Τι είναι το HAProxy;

Το HAProxy είναι ένα ισχυρό λογισμικό ανοιχτού κώδικα που μπορεί να χρησιμοποιηθεί ως μηχανισμός εξισορρόπησης φορτίου ή αντίστροφος διακομιστής μεσολάβησης. Χρησιμοποιείται συχνά για την κατανομή της κυκλοφορίας δεδομένων σε διάφορους διακομιστές, βελτιώνοντας έτσι τη διαθεσιμότητα και την απόδοση των διαδικτυακών εφαρμογών. Το HAProxy αποτελεί μια δοκιμασμένη λύση, ειδικά σε αρχιτεκτονικές με υψηλή δυνατότητα κλιμάκωσης και ανθεκτικότητα σε σφάλματα.

Χάρη στην υψηλή απόδοσή του, το HAProxy μπορεί να επεξεργάζεται χιλιάδες αιτήματα ανά δευτερόλεπτο χωρίς να επιβαρύνει σημαντικά τους πόρους του συστήματος. Το λογισμικό υποστηρίζει διάφορες μεθόδους κατανομής φορτίου, όπως round robin, least connection και source IP hashing. Προσφέρει επίσης λειτουργίες όπως τερματισμός SSL, έλεγχοι καλής λειτουργίας και sticky sessions, με σκοπό τον βέλτιστο έλεγχο της κυκλοφορίας δεδομένων. Ένα άλλο πλεονέκτημα είναι η δυνατότητα προώθησης της κυκλοφορίας με βάση συγκεκριμένους κανόνες ή πληροφορίες κεφαλίδας.

Το HAProxy χρησιμοποιείται σε πολλές μεγάλες εταιρείες και σε περιβάλλοντα cloud. Η διαμόρφωση πραγματοποιείται μέσω ενός απλού αλλά ευέλικτου αρχείου διαμόρφωσης, το οποίο επιτρέπει λεπτομερή προσαρμογή στις ανάγκες σας.

Πώς να εγκαταστήσετε το HAProxy στο Ubuntu 22.04 βήμα προς βήμα

Βήμα 1: Ενημέρωση του συστήματος

Πριν ξεκινήσετε την εγκατάσταση, θα πρέπει να βεβαιωθείτε ότι η διανομή Linux που χρησιμοποιείτε είναι ενημερωμένη. Έτσι θα διασφαλίσετε ότι όλα τα πακέτα είναι ενημερωμένα και ότι έχουν εξαλειφθεί τυχόν κενά ασφαλείας. Για να το κάνετε αυτό, ανοίξτε ένα τερματικό και εκτελέστε τις ακόλουθες εντολές:

sudo apt update && sudo apt upgrade -y
bash

Αυτή η ακολουθία εντολών ενημερώνει πρώτα τον κατάλογο πακέτων για να προσδιορίσει τις πιο πρόσφατες εκδόσεις του εγκατεστημένου λογισμικού. Στη συνέχεια, όλα τα υπάρχοντα πακέτα ενημερώνονται στις πιο πρόσφατες διαθέσιμες εκδόσεις. Η παράμετρος -y διασφαλίζει ότι όλες οι ενημερώσεις επιβεβαιώνονται αυτόματα.

Βήμα 2: Εγκατάσταση του HAProxy

Αφού ενημερωθεί το σύστημα, μπορείτε να εγκαταστήσετε το HAProxy με την ακόλουθη εντολή:

sudo apt install haproxy -y
bash

Αυτή η εντολή κατεβάζει το HAProxy από τις επίσημες πηγές πακέτων του Ubuntu και εγκαθιστά την εφαρμογή. Η εγκατάσταση είναι συνήθως γρήγορη, καθώς το HAProxy είναι ένα ελαφρύ πρόγραμμα. Μόλις ολοκληρωθεί η εγκατάσταση, μπορείτε να βεβαιωθείτε ότι το HAProxy έχει εγκατασταθεί με επιτυχία εκτελώντας την ακόλουθη εντολή:

haproxy -v
bash

Στην έξοδο θα πρέπει να εμφανίζεται η εγκατεστημένη έκδοση του HAProxy.

Image: Screenshot of the current HAProxy version in the terminal
After you have executed the command, the currently installed version of HAProxy will be displayed.

Βήμα 3: Ενεργοποίηση και εκκίνηση της υπηρεσίας HAProxy

Μετά την εγκατάσταση, πρέπει να βεβαιωθείτε ότι η υπηρεσία HAProxy εκτελείται. Αρχικά, εκκινήστε το HAProxy ως διαχειριστής με την ακόλουθη εντολή:

sudo systemctl start haproxy
bash

Χρησιμοποιήστε αυτήν την εντολή για να ελέγξετε αν η υπηρεσία έχει ξεκινήσει με επιτυχία:

sudo systemctl status haproxy
bash

Εάν το HAProxy εκτελείται, η έξοδος θα πρέπει να μοιάζει περίπου με αυτό:

Image: Screenshot of the current HAProxy status in the terminal
You can see from the ‘active (running)’ status in the terminal output that HAProxy is working without any problems.

Για να βεβαιωθείτε ότι το HAProxy θα ξεκινά επίσης αυτόματα μετά από επανεκκίνηση, ενεργοποιήστε την υπηρεσία με την εντολή:

sudo systemctl enable haproxy
bash

Βήμα 4: Ρύθμιση παραμέτρων του HAProxy

Το HAProxy διαμορφώνεται μέσω του αρχείου ρυθμίσεων /etc/haproxy/haproxy.cfg. Πριν προχωρήσετε σε οποιαδήποτε αλλαγή, συνιστάται να δημιουργήσετε ένα αντίγραφο ασφαλείας του αρχικού αρχείου:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup
bash
Note

Δημιουργώντας ένα αντίγραφο ασφαλείας του αρχικού αρχείου, εξασφαλίζετε ότι μπορείτε να επιστρέψετε σε μια λειτουργική κατάσταση ανά πάσα στιγμή. Με αυτόν τον τρόπο, οι αλλαγές μπορούν να γίνουν με ελάχιστο κίνδυνο.

Για να επεξεργαστείτε το αρχικό αρχείο, ανοίξτε το με ένα πρόγραμμα επεξεργασίας κειμένου της επιλογής σας, όπως το nano ή το Vim. Στο παράδειγμά μας, θα χρησιμοποιήσουμε το nano:

sudo nano /etc/haproxy/haproxy.cfg
bash

Μια απλή ρύθμιση εξισορρόπησης φορτίου θα μπορούσε να έχει την εξής μορφή:

frontend http_front
	bind *:80
	default_backend web_servers
backend web_servers
	balance roundrobin
	server web1 192.168.1.10:80 check
	server web2 192.168.1.11:80 check

Στον παραδειγματικό εξισορροπητή φορτίου, η εισερχόμενη κίνηση HTTP στη θύρα 80 κατανέμεται σε δύο διακομιστές backend («web1» και «web2»). Η κατανομή του φορτίου γίνεται με τη μέθοδο round-robin, έτσι ώστε τα αιτήματα να προωθούνται εναλλάξ στους διακομιστές.

Βήμα 5: Επανεκκίνηση και δοκιμή του HAProxy

Μετά την αλλαγή στη διαμόρφωση, το HAProxy πρέπει να επανεκκινηθεί για να εφαρμοστούν οι αλλαγές. Αυτό γίνεται με την ακόλουθη εντολή τερματικού:

sudo systemctl restart haproxy
bash

Σε περίπτωση που παρουσιαστούν σφάλματα, μπορείτε να ελέγξετε το αρχείο ρυθμίσεων του HAProxy για σφάλματα σύνταξης χρησιμοποιώντας την παρακάτω εντολή:

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

Η σωστή διαμόρφωση επιβεβαιώνεται από την έξοδο Configuration file is valid. Τώρα μπορείτε να ελέγξετε αν το HAProxy λειτουργεί όπως επιθυμείτε, εισάγοντας τη δημόσια διεύθυνση IP ή το όνομα τομέα του διακομιστή σας σε ένα πρόγραμμα περιήγησης.

Go to Main Menu