Πώς να εγκαταστήσετε το Memcached στο Ubuntu 20.04 LTS

Βελτιστοποιήστε την απόδοση της βάσης δεδομένων σας χρησιμοποιώντας τον διακομιστή Memcached με τις εφαρμογές PHP και Python

Εάν έχετε νιώσει ποτέ τον πόνο του υψηλού φόρτου της βάσης δεδομένων που προκαλεί την επιβράδυνση στις εφαρμογές ιστού σας και αναρωτηθήκατε "Υπάρχει τρόπος να μειώσετε τον λανθάνοντα χρόνο που προκαλείται από τα ερωτήματα DB;", τότε η απάντηση σε αυτήν την ερώτηση είναι ένα μεγάλο ναι. Το Memcached ένας φιλικός δαίμονας κρυφής μνήμης γειτονιάς είναι εδώ για να λύσει όλα τα δεινά σας! Η αποθήκευση στην κρυφή μνήμη του DB είναι μία από τις απλούστερες μεθόδους για να μειώσετε το φόρτο της DB και να επιταχύνετε τις δυναμικές εφαρμογές Ιστού.

Το Memcached αυτοπροσδιορίζεται ως υψηλής απόδοσης, κατανεμημένο σύστημα αποθήκευσης αντικειμένων μνήμης, γενικής φύσης, αλλά αρχικά προοριζόταν για χρήση στην επιτάχυνση δυναμικών εφαρμογών Ιστού μειώνοντας το φόρτο της βάσης δεδομένων. Αναπτύχθηκε από τον Brad Fitzpatrick για τον ιστότοπό του LiveJournal το 2003.

Σε αυτό το άρθρο, θα εξετάσουμε τον τρόπο εγκατάστασης και ρύθμισης παραμέτρων του Memcached στο Ubuntu 20.04 και θα εξετάσουμε τους πελάτες του για συγκεκριμένη γλώσσα.

Προαπαιτούμενα

Ένα σύστημα εγκατεστημένο με το Ubuntu 20.04 με χρήστη με δικαιώματα διαχειριστή, δηλαδή α sudo χρήστης.

Εγκατάσταση

Το Memcached είναι διαθέσιμο στο επίσημο αποθετήριο του Ubuntu 20.04, εκτός από το Memcached θα εγκαταστήσουμε επίσης ένα εργαλείο CLI γνωστό ως libmemcached-tools για τη διαχείριση του Memcached. Απλώς εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε και τα δύο

sudo apt εγκατάσταση memcached libmemcached-tools

Επαληθεύστε την εγκατάσταση

Μετά την ολοκλήρωση της εγκατάστασης, ο δαίμονας Memcached ξεκινά από μόνος του στο παρασκήνιο. Για να επαληθεύσουμε την εγκατάσταση, μπορούμε να χρησιμοποιήσουμε μια εντολή από libmemcached-tools πακέτο για λήψη στατιστικών στοιχείων διακομιστή Memcached. Είτε τρέξτε

memcstat -- servers localhost

ή

memcstat --διακομιστές 127.0.0.1

ο memcstat Η εντολή δείχνει τα στατιστικά του διακομιστή που λειτουργεί. Η παραπάνω εντολή θα έχει ως αποτέλεσμα την έξοδο που εμφανίζεται παρακάτω.

Διάφορα στατιστικά όπως χρόνο λειτουργίας σε δευτερόλεπτα, εκδοχή και pid θα εμφανιστεί ως έξοδος. Ωστόσο, εάν δεν εμφανίζεται καμία έξοδος, είναι πιθανό το Memcached να μην εκτελείται. Επομένως, πρέπει να εκτελέσετε την ακόλουθη εντολή για να ξεκινήσετε τον διακομιστή Memcached.

sudo systemctl εκκίνηση memcached

Για να εκτελέσετε τον διακομιστή Memcached κατά την εκκίνηση του συστήματος χρησιμοποιήστε την ακόλουθη εντολή.

sudo systemctl enable memcached

Διαμόρφωση του Memcached

Εάν έχετε εγκατεστημένο το memcached στον ίδιο τον διακομιστή ιστότοπου, δεν χρειάζεται να αλλάξετε το αρχείο διαμόρφωσης, καθώς το memcached είναι προρυθμισμένο για να λειτουργεί με τον localhost.

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

Ρύθμιση απομακρυσμένης πρόσβασης για διακομιστή Memcached

Το Memcached είναι ευάλωτο σε επιθέσεις DDoS (Distributed Denial of Service). Εσφαλμένος κανόνας τείχους προστασίας και ανοιχτές θύρες UDP θα αφήσουν τον διακομιστή σας ανοιχτό και ευάλωτο σε επιθέσεις DDoS.

Για να μετριαστεί ο κίνδυνος, μπορούμε είτε να απενεργοποιήσουμε το πρωτόκολλο UDP για το Memcached στη διαμόρφωση είτε να ρυθμίσουμε το τείχος προστασίας μόνο για να επιτρέπουμε αξιόπιστους διακομιστές.

Εκτός συσκευασίας, το Ubuntu αποστέλλεται χωρίς ανοιχτές θύρες TCP ή UDP. Επιπλέον, ο δαίμονας του τείχους προστασίας ufw (απλό τείχος προστασίας) δεν είναι ενεργοποιημένο από προεπιλογή.

Θα ενεργοποιήσουμε το τείχος προστασίας και θα ρυθμίσουμε τη διαμόρφωση του Memcached έτσι ώστε να μπορούμε να μετριάζουμε την ευπάθεια DDoS.

Πρώτα, ενεργοποιήστε το ufw εκτελώντας την ακόλουθη εντολή:

sudo systemctl ενεργοποίηση ufw

Στη συνέχεια ξεκινήστε το ufw service εκτελώντας την παρακάτω εντολή:

sudo systemctl start ufw

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

sudo ufw επιτρέπω 22

Δεύτερον, πρέπει να γνωρίζετε τη διεύθυνση IP του πελάτη, δηλαδή τον κεντρικό υπολογιστή εφαρμογής web και τη διεύθυνση IP του διακομιστή, δηλαδή τον διακομιστή Memcached.

Σε αυτήν την περίπτωση, ας υποθέσουμε ότι είναι η IP του πελάτη 192.168.0.4 και Memcached IP διακομιστή να είναι 192.168.0.5 σε τοπικό δίκτυο.

Επομένως, για να επιτρέψετε την απομακρυσμένη πρόσβαση του διακομιστή memcached στον διακομιστή πελάτη, εκτελέστε:

sudo ufw επιτρέπει από 192.168.0.4 σε οποιαδήποτε θύρα 11211

Αντικαταστήστε το 192.168.0.4 με τη διεύθυνση IP του πελάτη που επιθυμείτε.

Στη συνέχεια, επεξεργαστείτε το αρχείο διαμόρφωσης Memcached που βρίσκεται στο /etc/memcached.conf με το τρέξιμο νανο εντολή.

sudo nano /etc/memcached.conf

ο memcached.conf το αρχείο ρυθμίσεων θα ανοίξει με το nano editor, αναζητήστε το -l 127.0.0.1 γραμμή στη διαμόρφωση και αντικαταστήστε 127.0.0.1 με την IP του διακομιστή Memcached ή σε αυτήν την περίπτωση 192.168.0.5.

Μετά την αντικατάσταση πιέστε ctrl+o για να γράψετε στο αρχείο διαμόρφωσης και να πατήσετε enter, πατήστε ctrl+x για έξοδο νανο.

Κάντε επανεκκίνηση του διακομιστή Memcached και ufw τείχος προστασίας εκτελώντας την παρακάτω εντολή.

sudo systemctl επανεκκίνηση memcached ufw

Τώρα τελειώσαμε με την εγκατάσταση και τη διαμόρφωση του διακομιστή Memcached στο Ubuntu 20.04.

Σύνδεση σε διακομιστή Memcached

Για να χρησιμοποιήσετε τον διακομιστή Memcached, θα χρειαστεί να εγκαταστήσετε έναν πελάτη για συγκεκριμένη γλώσσα. Ευτυχώς, το Memcached έχει υποστήριξη για πολλές δημοφιλείς γλώσσες.

Ας δούμε λοιπόν πώς γίνεται η εγκατάσταση php και Πύθων πελάτη για Memcached.

Η PHP είναι η πιο δημοφιλής γλώσσα δέσμης ενεργειών από την πλευρά του διακομιστή και η Memcached χρησιμοποιείται ως επί το πλείστον από προγραμματιστές ιστού για τη βελτίωση της απόδοσης διακομιστή των εφαρμογών Ιστού που υποστηρίζονται από την PHP.

Για να εγκαταστήσετε την υποστήριξη memcached σε php, τρέξιμο:

sudo apt εγκατάσταση php-memcached

Η Python έχει επίσης αρκετές βιβλιοθήκες που μπορούν να λειτουργήσουν και να αλληλεπιδράσουν με διακομιστή Memcached, όπως π.χ pymemcached ή python-memcached.

Μπορείτε να εγκαταστήσετε το memcached για python εκτελώντας τις ακόλουθες εντολές pip:

εγκατάσταση pip pymemcache
εγκατάσταση pip python-memcached

Συμπερασματικά, εξετάσαμε την εγκατάσταση, τη διαμόρφωση και λίγους πελάτες για συγκεκριμένες γλώσσες του Memcached στο Ubuntu 20.04.

Για να μάθετε πιο λεπτή και προηγμένη χρήση του Memcached, ρίξτε μια ματιά στο Memcached Wiki.