Memcached ist ein kostenloser und leistungsstarker Open-Source-In-Memory-Key-Value-Datenspeicher. Es wird hauptsächlich verwendet, um Anwendungen zu beschleunigen, indem verschiedene Objekte aus den Ergebnissen von Datenbankaufrufen zwischengespeichert werden.
In diesem Tutorial führen wir Sie durch die Installation und Konfiguration von Memcached unter Debian 9.
Voraussetzungen #
Sie müssen als Benutzer mit sudo-Zugriff angemeldet sein, um Pakete auf Ihrem Debian-System installieren zu können.
Memcached wird installiert #
Memcache-Pakete sind in den standardmäßigen Debian 9-Repositories enthalten. Die Installation ist sehr einfach, befolgen Sie einfach die folgenden Schritte:
-
Aktualisieren Sie die Paketliste:
sudo apt update
-
Installieren Sie Memcached, indem Sie Folgendes eingeben:
sudo apt install memcached libmemcached-tools
Die
libmemcached-tools
-Paket bietet mehrere Befehlszeilentools zum Verwalten des Memcached-Servers. -
Sobald die Installation abgeschlossen ist, wird der Memcached-Dienst automatisch gestartet. Geben Sie den folgenden Befehl ein, um den Status des Dienstes zu überprüfen:
sudo systemctl status memcached
Die Ausgabe sieht folgendermaßen aus:
● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-06-05 21:00:57 GMT; 52s ago Docs: man:memcached(1) Main PID: 1371 (memcached) CGroup: /system.slice/memcached.service └─1371 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
Sie haben Memcached erfolgreich auf Ihrem Debian 9-Server installiert.
Memcached konfigurieren #
Memcached kann durch Bearbeiten der /etc/memcached.conf
konfiguriert werden Datei. Die Standardkonfigurationseinstellungen sind für die meisten Benutzer ausreichend.
Standardmäßig lauscht der Memcached-Dienst nur auf localhost. Wenn der Client, der sich mit dem Server verbindet, auch auf demselben Host ausgeführt wird, müssen Sie die Standardkonfigurationsdatei nicht ändern.
Fernzugriff #
Wenn es nicht richtig konfiguriert ist, kann Memcached verwendet werden, um einen verteilten Denial-of-Service (DDoS)-Angriff durchzuführen. Um Remote-Verbindungen zum Memcached-Server zuzulassen, müssen Sie Ihre Firewall konfigurieren und den Zugriff auf den Memcached-UDP-Port 11211 nur von vertrauenswürdigen Clients zulassen.
Im folgenden Beispiel gehen wir davon aus, dass Sie sich über ein privates Netzwerk mit dem Memcached-Server verbinden möchten. Die Server-IP ist 192.168.100.20
und die IP-Adresse des Clients ist 192.168.100.30
Wenn Sie UFW verwenden, führen Sie den folgenden Befehl aus, um die Bewertung von der Remote-Client-IP-Adresse zuzulassen:
sudo ufw allow from 192.168.100.30 to any port 11211
Wenn Sie normale alte iptables ausführen, führen Sie Folgendes aus:
iptables -I INPUT -s 192.168.100.30 --dport 2112112 -j ACCEPT
Sobald die Firewall konfiguriert ist, besteht der nächste Schritt darin, die Memcached-Einstellungen zu bearbeiten und den Memcached-Dienst so einzustellen, dass er auf der privaten Netzwerkschnittstelle des Servers lauscht:
Öffnen Sie dazu die memcached.conf
Konfigurationsdatei:
sudo nano /etc/memcached.conf
Suchen Sie die Zeile, die mit -l 127.0.0.1
beginnt und ersetzen Sie 127.0.0.1
mit der Server-IP-Adresse 192.168.100.20
.
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.100.20
Starten Sie den Memcached-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart memcached
Jetzt können Sie sich vom entfernten Standort aus mit dem Memcached-Server verbinden.
Verbinden mit Memcached #
Um sich mit dem Memcached-Server zu verbinden, müssen Sie einen sprachspezifischen Client verwenden.
PHP-Nummer
Um Memcached als Caching-Datenbank für Ihre PHP-Anwendung wie WordPress, Drupal oder Magento zu verwenden, müssen Sie php-memcached
installieren Erweiterung:
sudo apt install php-memcached
Python-Nr.
Es gibt mehrere Python-Bibliotheken für die Interaktion mit Memcache. Sie können Ihre bevorzugte Bibliothek mit pip:
installierenpip install pymemcache
pip install python-memcached