So installieren Sie Memcached unter Ubuntu 20.04 LTS

Optimieren Sie Ihre Datenbankleistung, indem Sie den Memcached-Server mit Ihren PHP- und Python-Apps verwenden

Wenn Sie jemals den Schmerz einer hohen Datenbanklast gespürt haben, die die Verlangsamung Ihrer Web-Apps verursacht, und sich gefragt haben: „Gibt es eine Möglichkeit, die durch DB-Abfragen verursachte Latenz zu verringern?“, dann ist die Antwort auf diese Frage ein klares Ja. Memcached, ein freundlicher Speichercache-Daemon aus der Nachbarschaft, ist hier, um all Ihre Probleme zu lösen! Das Caching der DB ist eine der einfachsten Methoden, um die DB-Last zu verringern und die dynamischen Webanwendungen zu beschleunigen.

Memcached definiert sich selbst als hochleistungsfähiges, verteiltes Speicherobjekt-Caching-System, generisch, aber ursprünglich für die Beschleunigung dynamischer Webanwendungen durch Verringerung der Datenbankbelastung gedacht. Entwickelt von Brad Fitzpatrick für seine Website LiveJournal im Jahr 2003.

In diesem Artikel werden wir uns ansehen, wie man Memcached in Ubuntu 20.04 installiert und konfiguriert und die sprachspezifischen Clients betrachten.

Voraussetzungen

Ein mit Ubuntu 20.04 installiertes System mit einem Benutzer mit Administratorrechten, also a sudo Nutzer.

Installation

Memcached ist im offiziellen Ubuntu 20.04-Repository verfügbar. Zusätzlich zu Memcached werden wir auch ein CLI-Tool namens . installieren libmemcached-tools Memcached zu verwalten. Führen Sie einfach den folgenden Befehl aus, um beide zu installieren

sudo apt install memcached libmemcached-tools

Installation überprüfen

Nachdem die Installation abgeschlossen ist, startet der Memcached-Daemon im Hintergrund von selbst. Um die Installation zu überprüfen, können wir einen Befehl von verwenden libmemcached-tools -Paket, um Memcached-Serverstatistiken zu erhalten. Entweder laufen

memcstat --servers localhost

oder

memcstat --servers 127.0.0.1

Der memcstat Befehl zeigt die Statistiken des laufenden Servers. Der obige Befehl führt zu einer Ausgabe, die unten angezeigt wird.

Verschiedene Statistiken wie Betriebszeit in Sekunden, Ausführung und pid wird als Ausgabe angezeigt. Wenn jedoch keine Ausgabe angezeigt wird, ist es möglich, dass Memcached nicht ausgeführt wird. Daher müssen Sie den folgenden Befehl ausführen, um den Memcached-Server zu starten.

sudo systemctl starte memcached

Um den Memcached-Server beim Systemstart auszuführen, verwenden Sie den folgenden Befehl.

sudo systemctl aktivieren memcached

Memcached konfigurieren

Wenn Sie Memcached auf dem Website-Server selbst installiert haben, müssen Sie die Konfigurationsdatei nicht ändern, da Memcached für die Arbeit mit localhost vorkonfiguriert ist.

Wenn Sie Memcached hingegen auf einem separaten System installiert haben, müssen Sie die Konfiguration ändern, um dem Remote-Server Zugriff auf den Memcached-Server zu ermöglichen.

Einrichten des Remote-Zugriffs für Memcached-Server

Memcached ist anfällig für DDoS-Angriffe (Distributed Denial of Service). Eine falsche Firewall-Regel und offene UDP-Ports machen Ihren Server offen und anfällig für DDoS-Angriffe.

Um das Risiko zu mindern, können wir entweder das UDP-Protokoll für Memcached in der Konfiguration deaktivieren oder eine Firewall nur so einrichten, dass vertrauenswürdige Server zugelassen werden.

Ubuntu wird standardmäßig ohne offene TCP- oder UDP-Ports ausgeliefert. Darüber hinaus ist der Firewall-Daemon ufw (unkomplizierte Firewall) ist standardmäßig nicht aktiviert.

Wir werden die Firewall aktivieren und die Memcached-Konfiguration einrichten, damit wir die DDoS-Sicherheitslücke mindern können.

Aktivieren Sie zuerst die ufw indem Sie den folgenden Befehl ausführen:

sudo systemctl aktivieren ufw

Dann starte die ufw service, indem Sie den folgenden Befehl ausführen:

sudo systemctl start ufw

Wenn die Firewall läuft, können wir endlich die Firewall-Regeln einrichten. Aktivieren Sie zunächst Port 22, um SSH-Verbindungen zuzulassen. SSH wird für den Remote-Zugriff auf den gewünschten Server benötigt.

sudo ufw erlauben 22

Zweitens müssen Sie die IP-Adresse des Clients kennen, dh den Host der Webanwendung, und die IP-Adresse des Servers, dh des Memcached-Servers.

Nehmen wir in diesem Fall an, dass die Client-IP 192.168.0.4 und Memcached-Server-IP zu sein 192.168.0.5 in einem lokalen Netzwerk.

Um den Fernzugriff des Memcached-Servers auf den Client-Server zu ermöglichen, führen Sie Folgendes aus:

sudo ufw erlauben von 192.168.0.4 zu jedem Port 11211

Ersetze das 192.168.0.4 mit Ihrer gewünschten Client-IP-Adresse.

Bearbeiten Sie als Nächstes die Memcached-Konfigurationsdatei unter /etc/memcached.conf durch Laufen Nano Befehl.

sudo nano /etc/memcached.conf

Der memcached.conf Konfigurationsdatei wird mit dem Nano-Editor geöffnet, suchen Sie nach dem -l 127.0.0.1 Zeile in der Konfiguration und ersetzen 127.0.0.1 mit Ihrer Memcached Server IP oder in diesem Fall 192.168.0.5.

Nach dem Ersetzen drücken Sie Strg+O Um in die Konfigurationsdatei zu schreiben und die Eingabetaste zu drücken, drücken Sie Strg+x Nano zu verlassen.

Starten Sie den Memcached-Server neu und ufw Firewall, indem Sie den folgenden Befehl ausführen.

sudo systemctl Neustart von Memcached ufw

Jetzt sind wir mit der Installation und Konfiguration des Memcached-Servers auf Ubuntu 20.04 fertig.

Verbindung zum Memcached-Server herstellen

Um den Memcached-Server zu verwenden, müssen Sie einen sprachspezifischen Client installieren. Glücklicherweise unterstützt Memcached viele gängige Sprachen.

Also lassen Sie uns sehen, wie man es installiert php und Python Client für Memcached.

PHP ist die beliebteste serverseitige Skriptsprache und Memcached wird hauptsächlich von Webentwicklern verwendet, um die Serverleistung von Webanwendungen mit PHP zu verbessern.

Um die Memcached-Unterstützung in PHP zu installieren, Lauf:

sudo apt installiere php-memcached

Auch Python verfügt über mehrere Bibliotheken, die mit Memcached-Servern arbeiten und interagieren können, wie z pymemcached oder python-memcached.

Sie können Memcached für Python installieren, indem Sie die folgenden pip-Befehle ausführen:

pip installiere pymemcache
pip install python-memcached

Abschließend haben wir uns die Installation, Konfiguration und einige sprachspezifische Clients von Memcached in Ubuntu 20.04 angesehen.

Um mehr über die grundlegende und erweiterte Verwendung von Memcached zu erfahren, werfen Sie einen Blick auf das Memcached-Wiki.