So installieren Sie Memcached unter Debian 12, 11 oder 10

Brad Fitzpatrick entwickelte Memcached 2003 für die LiveJournal-Website als leistungsstarkes Open-Source-Caching-System, um die Leistung dynamischer Webanwendungen durch Reduzierung der Datenbanklast zu verbessern. Seitdem ist es für viele Websites und Anwendungen mit hohem Datenverkehr unverzichtbar geworden. Bevor wir Memcached auf Debian 12 Bookworm, Debian 11 Bullseye oder Debian 10 Buster installieren, wollen wir unten einige wichtige Punkte zu Memcached untersuchen.

Hauptfunktionen und Vorteile:

  • Skalierbarkeit: Memcached verarbeitet Millionen von Vorgängen pro Sekunde und ist ideal für groß angelegte Webanwendungen und -dienste.
  • Verteiltes Caching: Mit einer verteilten Caching-Architektur ermöglicht Memcached eine horizontale Skalierung über mehrere Server hinweg und erweitert so die gesamte Cache-Kapazität.
  • In-Memory-Speicher: Als In-Memory-Schlüssel-Wert-Speicher gewährleistet Memcached einen schnellen Zugriff auf zwischengespeicherte Daten und reduziert die Latenz in festplattenbasierten Speichersystemen erheblich.
  • Einfache API: Memcached bietet eine unkomplizierte API, die verschiedene Programmiersprachen unterstützt, darunter PHP, Python, Ruby und andere.
  • Cacheablauf: Das System ermöglicht Entwicklern, Ablaufzeiten für zwischengespeicherte Daten festzulegen und so die automatische Entfernung veralteter oder nicht mehr aktueller Daten aus dem Cache zu erleichtern.
  • Leicht: Mit minimalem CPU- und Speicheraufwand läuft Memcached effizient auf verschiedenen Serverkonfigurationen, ohne die Systemressourcen wesentlich zu belasten.
  • Flexible Datentypen: Memcached unterstützt verschiedene Datentypen wie Zeichenfolgen, Ganzzahlen und komplexe Objekte und ist daher vielseitig für unterschiedliche Anwendungsfälle geeignet.

Die folgende Anleitung führt Sie durch den Installationsprozess von Memcached unter Debian und verwendet dabei zwei Methoden: das Standard-Debian-Repository für die stabilste Version oder das Herunterladen und Kompilieren der neuesten Binärdatei für diejenigen, die lieber mit der neuesten Version arbeiten.

Methode 1: Installieren Sie Memcached über das Standard-APT-Repository

In diesem Abschnitt installieren wir Memcached mithilfe des APT-Paketmanagers auf Ihrem Debian-Linux-System. Dazu aktualisieren wir Ihre Systempakete und installieren Memcached mit einigen hilfreichen Tools.

Aktualisieren Sie Ihr Debian-System vor der Memcached-Installation

Um sicherzustellen, dass Sie über die neuesten Paketversionen und Sicherheitsupdates verfügen, aktualisieren Sie zunächst Ihr Debian-System. Führen Sie den folgenden Befehl aus:

sudo apt update && sudo apt upgrade

Dieser Befehl aktualisiert Ihre Paketliste und aktualisiert veraltete Pakete auf die neuesten Versionen.

Installieren Sie Memcached und Libmemcached-Tools

Debian enthält Memcached in seinen Standard-Repositorys, was die Installation vereinfacht. Um Memcached zu installieren, führen Sie den folgenden Befehl aus:

sudo apt install memcached libmemcached-tools

Dieser Befehl installiert sowohl Memcached als auch die libmemcached-tools Paket. Das libmemcached-tools Das Paket bietet zusätzliche Befehlszeilenprogramme, die mehr Interaktions- und Verwaltungsfunktionen mit Memcached ermöglichen.

Methode 2: Installieren Sie Memcached über die Quelle

In diesem Abschnitt wird die Installation von Memcached auf Ihrem Debian-System durch Kompilieren aus dem Quellcode beschrieben. Die Installation aus der Quelle kann von Vorteil sein, wenn Sie die neueste Version von Memcached verwenden oder den Build an bestimmte Anforderungen anpassen möchten.

Laden Sie die Memcached-Quelle herunter

Besuchen Sie zunächst die Memcached Seite mit der neuesten Version um die aktuelle Version zu finden. Verwenden Sie die folgenden wget Befehl zum direkten Herunterladen:

wget https://memcached.org/latest

Memcached-Quellarchiv extrahieren

Extrahieren Sie als Nächstes den heruntergeladenen Quellcode, indem Sie den folgenden Befehl ausführen:

tar -xvf latest

Bevor Sie fortfahren, navigieren Sie zum extrahierten Verzeichnis. Der Verzeichnisname hängt von der heruntergeladenen Version ab:

cd memcached-{place version number here}

Ersetzen {version_number} durch die tatsächliche Versionsnummer.

Installieren Sie die zum Kompilieren von Memcached erforderlichen Erstpakete

Bevor Sie Memcached kompilieren, müssen Sie die erforderlichen Build-Abhängigkeiten installieren. Führen Sie den folgenden Befehl aus, um sie zu installieren:

sudo apt install build-essential libevent-dev gcc make libc6-dev

Die installierten Pakete dienen folgenden Zwecken:

  • gcc: Ein bekannter C-Compiler für die Memcached-Quelldateien.
  • make: Leitet die Kompilierung.
  • libc6-dev: Bietet einen Verweis auf die GNU C-Bibliothek und Header-Dateien.
  • libevent-dev: Enthält Entwicklungsdateien für asynchrone Ereignisbenachrichtigungen.

Konfigurieren der Installation

Verwenden Sie die --prefix= Parameter zum Festlegen des Verzeichnisses, in dem die Binärdateien und Bibliotheken von Memcached installiert werden:

./configure --prefix=/usr/local

Memcached-Quellcode kompilieren

Kompilieren Sie den Memcached-Quellcode mit dem make Befehl:

make

Testen Sie Memcached, indem Sie die aktuelle Version bestätigen:

./memcached --version

Installieren Sie Memcached über den Befehl „make install“

Sobald der Kompilierungsprozess abgeschlossen ist, installieren Sie Memcached, indem Sie den folgenden Befehl ausführen:

sudo make install

Dieser Befehl installiert Memcached auf Ihrem System und macht es über die Befehlszeile zugänglich. Um sicherzustellen, dass das System die neuen Bibliotheken erkennt, führen Sie Folgendes aus:

sudo ldconfig

Überprüfen der Installation von Memcached

Um zu überprüfen, ob Memcached erfolgreich installiert wurde, führen Sie den folgenden Befehl aus:

memcached -V

Dieser Befehl zeigt die installierte Memcached-Version an und bestätigt die erfolgreiche Installation aus dem Quellcode.

Erstellen Sie einen Systemd-Dienst für Memcached

Wenn Sie Memcached aus der Quelle installieren, wird nicht automatisch eine systemd-Dienstdatei erstellt. Um Memcached als Dienst auszuführen und zu verwalten, verwenden Sie systemctlmüssen Sie eine benutzerdefinierte systemd-Dienstdatei für Memcached erstellen. Befolgen Sie diese Schritte, um den Dienst zu erstellen und zu aktivieren:

Erstellen Sie eine neue Datei mit dem Namen memcached.service im /etc/systemd/system Verzeichnis mit einem Texteditor Ihrer Wahl. In diesem Beispiel verwenden wir nano:

sudo nano /etc/systemd/system/memcached.service

Fügen Sie den folgenden Inhalt hinzu memcached.service Datei:

[Unit]
Description=Memcached Service
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/local/bin/memcached /etc/memcached.conf
Restart=always

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei und beenden Sie den Texteditor.

Ein ... kreieren memcache Benutzer und Gruppe, um den Dienst sicher auszuführen:

sudo useradd -r -s /sbin/nologin -U -M memcache

Laden Sie die systemd-Konfiguration neu, damit sie die neue Servicedatei erkennt:

sudo systemctl daemon-reload

Starten Sie abschließend den Dienst:

sudo systemctl enable memcached --now

Verwalten des Memcached-Dienststatus

In diesem Abschnitt wird die Verwaltung des Memcached-Dienstes auf Ihrem Debian-System behandelt. Dazu gehört das Überprüfen des Dienststatus, das Starten und Stoppen des Dienstes und das Konfigurieren für die Ausführung beim Systemstart.

Überprüfen Sie den Memcached-Dienststatus

Standardmäßig sollte Memcached nach der Installation ausgeführt werden. Um den Status zu überprüfen, verwenden Sie die systemctl den Befehl wie folgt:

systemctl status memcached

Dieser Befehl zeigt den aktuellen Status des Memcached-Dienstes an.

Starten Sie den Memcached-Dienst

Wenn Memcached nicht läuft, können Sie den Dienst mit dem folgenden Befehl starten:

sudo systemctl start memcached

Aktivieren Sie Memcached beim Systemstart

Um sicherzustellen, dass der Memcached-Dienst beim Systemstart automatisch gestartet wird, verwenden Sie den folgenden Befehl:

sudo systemctl enable memcached

Stoppen Sie den Memcached-Dienst

Wenn Sie den Memcached-Dienst stoppen müssen, verwenden Sie diesen Befehl:

sudo systemctl stop memcached

Deaktivieren Sie Memcached beim Systemstart

Um zu verhindern, dass der Memcached-Dienst beim Systemstart automatisch gestartet wird, führen Sie den folgenden Befehl aus:

sudo systemctl disable memcached

Starten Sie den Memcached-Dienst neu

Wenn Sie den Memcached-Dienst beispielsweise nach Konfigurationsänderungen neu starten müssen, verwenden Sie diesen Befehl:

sudo systemctl restart memcached

Überprüfen Sie, ob Memcached den Standardport überwacht.

Überprüfen Sie abschließend, ob Memcached aktiv auf dem lokalen Host über den Standardport lauscht. 11211Um dies zu bestätigen, führen Sie den folgenden Befehl aus:

ps -ef | grep memcached

Die Ausgabe sollte eine Zeile enthalten, die angibt, dass Memcached ausgeführt wird und auf dem angegebenen Port lauscht. Sie sollte etwa wie folgt aussehen:

memcache    5934       1  0 09:36 ?        00:00:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root        6591    3653  0 09:55 pts/0    00:00:00 grep memcached

Tipps zum Konfigurieren von Memcached

In diesem Abschnitt wird die Konfiguration der Memcached-Einstellungen durch Bearbeiten der memcached.conf Datei. Wir besprechen das Anpassen der Abhör-IP-Adresse, das Deaktivieren von UDP und das Ändern der Standardspeicherzuweisung.

Öffnen Sie die Memcached-Konfigurationsdatei

Öffnen Sie die Memcached-Konfigurationsdatei unter /etc/memcached.conf mit einem Texteditor, wie zum Beispiel nano:

sudo nano /etc/memcached.conf

Benutzer, die Memcached aus dem Quellcode kompiliert haben, müssen dies erstellen. Wenn Sie es also zum ersten Mal öffnen, ist die Datei im Vergleich zur APT-Methode leer. Sie können dies kopieren, um mit der Anpassung zu beginnen:

# Example memcached.conf file

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default port is 11211
-p 11211

# Run the daemon as a background process
-d

# Use syslog logging
-s

# Enable verbose logging
-vv

# Set the maximum number of simultaneous connections
-c 1024

Anpassen der Listening-IP-Adresse

Standardmäßig hört Memcached auf die IP-Adresse 127.0.0.1. Überprüfen Sie den Parameter -l in der Konfigurationsdatei und stellen Sie sicher, dass er auf die richtige IP-Adresse eingestellt ist. Wenn Sie die IP-Adresse ändern müssen, ersetzen Sie 127.0.0.1 mit der neuen IP-Adresse:

-l 127.0.0.1

UDP deaktivieren (optional)

Wenn Sie UDP-Unterstützung nicht benötigen, wird empfohlen, sie zu deaktivieren. Um UDP zu deaktivieren, fügen Sie der Konfigurationsdatei die folgende Zeile hinzu:

-U 0

Konfigurieren der Speicherzuweisung

Die standardmäßige Speicherzuweisung für Memcached beträgt 64 MB, was für größere Websites möglicherweise nicht ausreicht. Erwägen Sie, die Speicherzuweisung auf einen höheren Wert einzustellen, um Memcached optimal zu nutzen.

Um die Speicherzuordnung festzulegen, finden Sie die -m Parameter in der Konfigurationsdatei und ersetzen Sie den Standardwert durch die gewünschte Menge (in MB). Um beispielsweise 2 GB Speicher zuzuweisen, setzen Sie den Wert auf 2000:

-m 2000

Passen Sie diese Einstellung basierend auf dem verfügbaren Speicher und den Anforderungen Ihres Servers an.

Speichern und Memcached neu starten

Nachdem Sie die erforderlichen Änderungen vorgenommen haben, speichern Sie die Konfigurationsdatei durch Drücken von CTRL+O, gefolgt von Y, und dann CTRL+X , um den Texteditor zu beenden. Starten Sie abschließend den Memcached-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart memcached

Zusätzliche Memcached-Konfigurationsbeispiele

Zusätzlich zu den zuvor beschriebenen Konfigurationsoptionen gibt es noch zahlreiche weitere Einstellungen, mit denen Sie Memcached Ihren Anforderungen entsprechend optimieren können. Hier sind einige Beispiele und kurze Demonstrationen:

Geben Sie den Benutzer und die Gruppe an

Memcached wird unter einem bestimmten Benutzer und einer bestimmten Gruppe ausgeführt, die mit dem -u Parameter. Um beispielsweise Memcached als memcache Benutzer, fügen Sie der Konfigurationsdatei die folgende Zeile hinzu:

-u memcache

Große Speicherseiten aktivieren

Das Aktivieren dieser Funktion kann die Leistung verbessern, wenn Ihr System große Speicherseiten unterstützt. Um große Speicherseiten zu aktivieren, finden Sie die -L Parameter und heben Sie die Kommentierung auf (entfernen Sie das # am Anfang der Zeile):

-L

Konfigurieren der maximalen Elementgröße

Memcached hat standardmäßig eine maximale Elementgröße von 1 MB. Um die maximale Elementgröße zu erhöhen, verwenden Sie die -I Parameter gefolgt von der gewünschten Größe. Um beispielsweise die maximale Elementgröße auf 5 MB festzulegen, fügen Sie der Konfigurationsdatei die folgende Zeile hinzu:

-I 5m

Legen Sie die maximale Anzahl von Threads fest

Memcached verwendet standardmäßig vier Threads. Sie können den Parameter verwenden, um die Anzahl der Threads entsprechend den Fähigkeiten und der Arbeitslast Ihres Servers zu erhöhen oder zu verringern. Um beispielsweise die Anzahl der Threads auf 8 festzulegen, fügen Sie die folgende Zeile hinzu:

-t 8

Konfigurieren des Leerlauf-Timeouts

Memcached schließt inaktive Verbindungen nach einer bestimmten Zeit der Inaktivität automatisch. Um das Leerlauf-Timeout zu ändern, verwenden Sie die -o Parameter gefolgt von idle_timeout und die gewünschte Anzahl von Sekunden. Um beispielsweise das Leerlauf-Timeout auf 600 Sekunden (10 Minuten) einzustellen, fügen Sie die folgende Zeile hinzu:

-o idle_timeout=600

SASL-Authentifizierung aktivieren

Sie können die SASL-Unterstützung (Simple Authentication and Security Layer) aktivieren, wenn Sie für den Zugriff auf Ihren Memcached-Server eine Authentifizierung benötigen. Um SASL zu aktivieren, finden Sie den -S Parameter und heben Sie die Kommentierung auf (entfernen Sie das # am Anfang der Zeile):

-S

Denken Sie daran, den Memcached-Dienst immer neu zu starten, nachdem Sie Änderungen an der Konfigurationsdatei vorgenommen haben:

sudo systemctl restart memcached

Installieren Sie die UFW-Firewall für Memcached

Um die Sicherheit Ihrer Memcached-Instanz zu gewährleisten, ist es wichtig, Ihre Firewall-Regeln richtig zu konfigurieren. In diesem Abschnitt erfahren Sie, wie Sie die Uncomplicated Firewall (UFW) installieren und konfigurieren, um Ihren Memcached-Server zu sichern.

Überprüfen Sie, ob UFW installiert ist

Lassen Sie uns zunächst überprüfen, ob UFW bereits auf Ihrem Debian-System installiert ist:

sudo ufw --version

Wenn UFW installiert ist, sehen Sie die Versionsnummer in der Ausgabe. Wenn nicht, müssen Sie es installieren.

Installieren Sie UFW unter Debian für Memcached

Um UFW auf Ihrem Debian-System zu installieren, führen Sie den folgenden Befehl aus:

sudo apt install ufw

Nachdem die Installation abgeschlossen ist, aktivieren Sie UFW mit dem folgenden Befehl:

sudo ufw enable

Konfigurieren Sie UFW-Regeln für Memcached

Nachdem UFW installiert und aktiviert ist, müssen Sie Zulassungsregeln für TCP-Port 11211 erstellen. Die von Ihnen erstellten Regeln hängen von Ihrer Installation und Ihren Anforderungen ab, unabhängig davon, ob Sie eine einzelne IP-Netzwerkverbindung verwenden oder mit mehreren Instanzen in einem Clusternetzwerk arbeiten.

Beispiel für eine einzelne IP-Netzwerkverbindung

Erlauben Sie den Zugriff auf Memcached von einer bestimmten IP-Adresse aus:

sudo ufw allow proto tcp from <ip_address> to any port 11211

Beispiel einer Cluster-IP-Netzwerkverbindung mit mehreren Instanzen

Erlauben Sie den Zugriff auf Memcached aus einem Subnetz von IP-Adressen:

sudo ufw allow proto tcp from <ip_address>/24 to any port 11211

Beachten Sie, dass die zweite UFW-Regel eine Subnetzregel ist. Stellen Sie sicher, dass das interne Netzwerk sicher und vertrauenswürdig ist, bevor Sie den Zugriff zulassen.

Schritt 4: UFW-Regeln überprüfen

Überprüfen Sie nach dem Einrichten der entsprechenden Regeln, ob sie richtig konfiguriert sind, indem Sie die aktuellen UFW-Regeln auflisten:

sudo ufw status

Die Ausgabe sollte Ihre konfigurierten Regeln anzeigen und sicherstellen, dass Ihre Memcached-Instanz mit UFW gesichert ist.

Installieren Sie Memcached-Bibliotheken

Memcached bietet Erweiterungen für verschiedene Programmiersprachen, wird aber am häufigsten mit PHP verwendet. Dieser Abschnitt führt Sie durch die Installation der Memcached-Bibliotheken für PHP, Python und Perl und die Konfiguration von Memcached für Apache- und Nginx-Webserver.

Installieren Sie PHP-Bibliotheken für Memcached

Um die PHP-Bibliothek für Memcached zu installieren, führen Sie den folgenden Befehl aus:

sudo apt install php-memcached libapache2-mod-php php php-cli

Konfigurieren Sie Memcached für den Apache-HTTP-Server

Wenn Sie den Apache-HTTP-Server verwenden, aktivieren Sie das Memcached-Modul, indem Sie den folgenden Befehl ausführen:

sudo phpenmod memcached && sudo systemctl restart apache2

Konfigurieren Sie Memcached für den Nginx-HTTP-Server

Die Memcached-Unterstützung wird standardmäßig in Ihrem PHP-Konfigurationsblock aktiviert, sobald die PHP-Bibliothek für Nginx-Benutzer installiert ist.

Unten sehen Sie ein einfaches Beispiel für einen Nginx-Serverblock:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Installieren Sie die Python-Bibliothek für Memcached

Um Python-Unterstützung für Memcached zu installieren, führen Sie den folgenden Befehl aus:

sudo apt install python3-pymemcache

Installieren Sie die Perl-Bibliothek für Memcached

Um Perl-Unterstützung für Memcached zu installieren, führen Sie den folgenden Befehl aus:

sudo apt install libcache-memcached-libmemcached-perl

Zugriff auf Memcached über die Befehlszeile

Memcached kann über verschiedene Software- und Web-Benutzeroberflächen überwacht und verwaltet werden. Die direkte Interaktion mit Memcached über die Befehlszeile ist jedoch häufig die einfachste Methode, um die Leistung zu überprüfen und den Inhalt zu verwalten.

Stellen Sie zunächst per Telnet eine Verbindung zu Ihrem Memcached-Dienst her:

telnet localhost 11211

Beispielausgabe:

Versuch 127.0.0.1... Verbunden mit localhost. Escape-Zeichen ist '^]'.

Als nächstes können Sie sich mit dem folgenden Befehl einen Überblick über Ihren Memcached-Dienst verschaffen:

stats

Dieser Befehl gibt verschiedene Statistiken zu Ihrer Memcached-Instanz zurück, beispielsweise Betriebszeit, Anzahl der Elemente im Cache und Anzahl der Client-Verbindungen.

Sie können Ihre Analyse verfeinern, indem Sie Memcached-Slabs (Speicherpartitionen) untersuchen. Sie können beispielsweise die Slabs in der verbundenen Instanz mit folgendem auflisten:

stats slabs

Und erhalten Sie eine Liste der Platten, einschließlich der Anzahl der in jeder Platte gespeicherten Elemente, mithilfe von:

stats items

Um auf in Memcached gespeicherte Daten zuzugreifen und diese zu bearbeiten, können Sie den cachedump Befehl zum Auflisten der Schlüssel. Um alle Elemente in einem bestimmten Slab aufzulisten, führen Sie den folgenden Befehl aus:

stats cachedump [slab ID] [number of items, 0 for all items]

Zum Beispiel:

stats cachedump 1 0

Beispielausgabe:

ITEM testkey [9 b; 1296857316 s] ENDE

In diesem Beispiel enthält Slab 1 ein Element mit dem Schlüssel „testkey“. Um den Wert dieses Elements abzurufen, verwenden Sie die get Befehl:

get testkey

Beispielausgabe:

WERT Testschlüssel 0 9 Testdaten ENDE

Um abschließend ein zwischengespeichertes Element wie „testkey“ zu löschen, verwenden Sie den folgenden Befehl:

delete testkey

Beispielausgabe:

GELÖSCHT

Abschluss

Zusammenfassend lässt sich sagen, dass die Installation und Konfiguration von Memcached unter Debian Linux die Leistung Ihrer Webanwendungen erheblich verbessern kann, indem es ein schnelles, effizientes und benutzerfreundliches Caching-System bereitstellt. Wenn Sie die in diesem Handbuch beschriebenen Schritte befolgen, können Sie Memcached erfolgreich einrichten, mit Ihrem bevorzugten Webserver konfigurieren und mit UFW sichern. Mit der richtigen Konfiguration und Verwaltung kann Memcached für die Optimierung Ihrer Anwendungen und die Bereitstellung einer besseren Benutzererfahrung unverzichtbar werden.

Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)

Hinterlasse einen Kommentar