Memcached ist ein kostenloser und leistungsstarker Open-Source-In-Memory-Key-Value-Datenspeicher. Typischerweise wird es als Caching-System verwendet, um Anwendungen zu beschleunigen, indem verschiedene Objekte aus den Ergebnissen von Datenbankaufrufen zwischengespeichert werden.
Dieser Artikel zeigt, wie Memcached unter CentOS 8 installiert und konfiguriert wird.
Installieren von Memcached auf CentOS #
Memcache-Pakete sind in den standardmäßigen CentOS 8-Repositories enthalten. Die Installation ist ziemlich einfach, geben Sie den folgenden Befehl als root oder Benutzer mit sudo-Rechten ein:
sudo dnf install memcached libmemcached
Die libmemcached
-Paket bietet mehrere Befehlszeilentools zum Verwalten des Memcached-Servers.
Sobald die Installation abgeschlossen ist, aktivieren und starten Sie den Memcached-Dienst, indem Sie Folgendes eingeben:
sudo systemctl enable memcached --now
Geben Sie Folgendes ein, um zu überprüfen, ob memcached ausgeführt wird:
sudo systemctl status memcached
Die Ausgabe sollte in etwa so aussehen:
● memcached.service - memcached daemon
Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago
...
Sie haben Memcached auf Ihrem CentOS 8-Server installiert und können es verwenden.
Memcached konfigurieren #
Memcached-Optionen können in /etc/sysconfig/memcached
konfiguriert werden Datei. Standardmäßig ist Memcached so eingestellt, dass es nur auf localhost lauscht.
Wenn der Client, der sich mit dem Server verbindet, auch auf demselben Host läuft, sollten Sie keine Änderungen vornehmen.
Fernzugriff #
Wenn die Anwendung, die eine Verbindung zu Memcached herstellt, auf einem Remote-Server gehostet wird, müssen Sie Ihre Firewall konfigurieren und den Zugriff auf den Memcached-Port 11211
zulassen nur von der Client-IP-Adresse.
Bei falscher Konfiguration kann Memcached verwendet werden, um einen verteilten Denial-of-Service (DDoS)-Angriff durchzuführen.
Das folgende Beispiel geht davon aus, dass Sie sich über ein privates Netzwerk mit dem Memcached-Server verbinden möchten. Die IP des Memcache-Servers ist 192.168.100.20
, und die IP-Adresse des Clients ist 192.168.100.30
.
Der erste Schritt besteht darin, die Memcached-Konfiguration zu bearbeiten und den Dienst so einzustellen, dass er auf der privaten Netzwerkschnittstelle des Servers lauscht:
Öffnen Sie den memcached
Konfigurationsdatei:
sudo nano /etc/sysconfig/memcached
In den OPTIONS
Parameter die Server-IP-Adresse -l 192.168.100.20
hinzufügen . Dies weist Memcached an, nur an die angegebene Schnittstelle zu binden.
OPTIONS="-l 192.168.100.20"
Speichern Sie die Datei und starten Sie den Memcached-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart memcached
Sobald der Dienst konfiguriert ist, besteht der nächste Schritt darin, den Memcache-Port in Ihrer Firewall zu öffnen.
CentOS wird mit einem Firewall-Konfigurationstool FirewallD
geliefert . Die folgenden Befehle erstellen eine neue Zone mit dem Namen memcached
, öffnen Sie den Port 11211
und erlauben Sie den Zugriff nur von der Client-IP-Adresse.
sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload
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-pecl-memcached
installieren Erweiterung:
sudo dnf install php-pecl-memcache
Python-Nr.
Es gibt mehrere Python-Bibliotheken für die Interaktion mit Memcached. Sie können Ihre bevorzugte Bibliothek mit pip:
installierenpip install pymemcache
pip install python-memcached