Memcached ist ein kostenloser und leistungsstarker Open-Source-In-Memory-Key-Value-Datenspeicher. Es wird hauptsächlich als Caching-System verwendet, um Anwendungen zu beschleunigen, indem verschiedene Objekte aus den Ergebnissen von Datenbankaufrufen zwischengespeichert werden.
In diesem Tutorial erklären wir, wie Memcached unter CentOS 7 installiert und konfiguriert wird.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Memcached wird installiert #
Memcache-Pakete sind in den standardmäßigen CentOS 7-Repositories enthalten. Die Installation ist ziemlich einfach, geben Sie einfach den folgenden Befehl ein:
sudo yum install memcached libmemcached
Die libmemcached
-Paket bietet mehrere Befehlszeilentools zum Verwalten des Memcached-Servers.
Sobald die Installation abgeschlossen ist, starten und aktivieren Sie den Memcached-Dienst:
sudo systemctl start memcached
sudo systemctl enable memcached
Das war's, zu diesem Zeitpunkt haben Sie Memcached auf Ihrem CentOS 7-Server installiert und ausgeführt.
Memcached konfigurieren #
Memcached kann durch Bearbeiten von /etc/sysconfig/memcached
konfiguriert werden Datei. Standardmäßig ist Memcached so eingestellt, dass es auf allen Schnittstellen lauscht. In den folgenden Abschnitten zeigen wir Ihnen, wie Sie den Dienst für lokalen und Fernzugriff konfigurieren.
Bei falscher Konfiguration kann Memcached verwendet werden, um einen verteilten Denial-of-Service (DDoS)-Angriff durchzuführen.
Nur lokaler Zugriff #
Wenn der Client, der sich mit dem Server verbindet, auch auf demselben Host läuft, wird empfohlen, den Memcached-Dienst so einzustellen, dass er nur auf localhost lauscht.
Öffnen Sie dazu den memcached
Konfigurationsdatei mit Ihrem Texteditor:
sudo nano /etc/sysconfig/memcached
In den OPTIONS
Parameter fügen Sie -l 127.0.0.1
hinzu . Dies weist Memcached an, nur an die angegebene Schnittstelle zu binden.
OPTIONS="-l 127.0.0.1"
Starten Sie den Memcached-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart memcached
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 nur von der Client-IP-Adresse zulassen.
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
.
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
Sobald Ihre Firewall konfiguriert ist, besteht der nächste Schritt 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 fügen Sie die IP-Adresse des Servers hinzu -l 192.168.100.20
:
OPTIONS="-l 192.168.100.20"
Speichern Sie die Datei und starten Sie den Memcached-Dienst neu:
sudo systemctl restart memcached
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 yum install php-pecl-memcache
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