Zurück zum Blog

Installation und Konfiguration von Memcached mit WordPress unter Ubuntu und DDEV

2024-01-066 Min. Lesezeit

In diesem Blogbeitrag führe ich Sie durch die Installation von Memcached unter Ubuntu und DDEV, um die Geschwindigkeit Ihrer Website zu erhöhen. Wir werden auch den Konfigurationsprozess und die Integration mit WordPress mithilfe des Plugins Object Cache 4 Everyone untersuchen und die Schritte zur Erzielung einer verbesserten Website-Leistung vereinfachen.

Was ist Memcached?

Memcached ist ein leistungsstarkes, verteiltes In-Memory-Objektspeichersystem, das darauf abzielt, dynamische Webanwendungen zu beschleunigen, indem die Datenbanklast reduziert wird. Im Wesentlichen ermöglicht es Ihnen, Datenobjekte im dynamischen Speicher (RAM) zu speichern, damit Websites und Anwendungen sie schnell abrufen können.

Wenn eine Webanwendung ausgeführt wird, muss sie normalerweise Daten aus einer Datenbank lesen. Dieser Prozess kann langsam und ressourcenintensiv sein, insbesondere unter hoher Last oder bei komplexen Abfragen. Memcached mildert dies, indem es die am häufigsten abgerufenen Daten im Speicher hält. Wenn eine Anfrage gestellt wird, prüft die Anwendung zuerst Memcached, anstatt die Datenbank abzufragen. Wenn die Daten vorhanden sind (ein Cache-Hit), werden sie sofort zurückgegeben, was die Abrufzeit erheblich verkürzt. Wenn die Daten nicht im Cache vorhanden sind (ein Cache-Miss), werden sie aus der Datenbank abgerufen und dann für zukünftige Anfragen in Memcached gespeichert.

Dieser Ansatz verringert die Anzahl der Datenbankabfragen, die eine Anwendung durchführen muss, erheblich, wodurch die Datenbanklast reduziert und die allgemeine Geschwindigkeit und Leistung der Anwendung verbessert wird. Obwohl es die Notwendigkeit einer Datenbank nicht beseitigt, fungiert es als hochgradig effizientes Zwischenglied für den Datenabruf.

Betrachten Sie es als eine Abkürzung für die Daten Ihrer Website!

Schritt 1: Bereiten Sie Ihren Server vor

In diesem Blogbeitrag verwende ich einen Ubuntu-Server für alle Schritte und Beispiele. Wenn Sie eine andere Konfiguration haben, können die Schritte etwas anders sein, aber Sie können trotzdem folgen!

Aktualisieren Sie Ihr System:
Geben Sie sudo apt update ein. Dieser Befehl stellt sicher, dass die Liste der Programme Ihres Servers auf dem neuesten Stand ist.

Installieren Sie Memcached:
Geben Sie nun sudo apt install memcached ein. Dieser Befehl installiert Memcached auf Ihrem Server.

Installieren Sie Tools für Memcached und PHP:
Geben Sie sudo apt install libmemcached-tools ein. Diese Tools helfen der Sprache Ihrer Website (PHP), mit Memcached zu kommunizieren.

Starten Sie Memcached:
Geben Sie sudo systemctl start memcached ein. Dieser Befehl aktiviert den Memcached-Dienst.

Schritt 2: Bestätigen Sie Ihre PHP- und PHP-FPM-Versionen

Bevor Sie mit der Installation der erforderlichen PHP-Erweiterungen fortfahren, ist es wichtig, genau zu wissen, welche Version von PHP und PHP-FPM Sie ausführen, da Abweichungen zu Kompatibilitätsproblemen führen können.

Überprüfen Sie Ihre PHP-Version:
Geben Sie php -v in Ihrem Terminal ein und notieren Sie sich die von Ihnen verwendete PHP-Version.

Überprüfen Sie die PHP-FPM-Version:
Geben Sie systemctl list-units | grep php ein und suchen Sie nach etwas wie php8.1-fpm.service. Diese Zeile zeigt an, dass der PHP 8.1 FastCGI Process Manager ausgeführt wird. Stellen Sie sicher, dass die Version von PHP-FPM mit Ihrer PHP-Version übereinstimmt.

Schritt 3: Installieren Sie die PHP Memcached-Erweiterung für die richtige PHP-FPM-Version

Warum es wichtig ist:
Um sicherzustellen, dass das Plugin „Object Cache 4 Everyone“ Memcached effektiv nutzen kann, benötigen Sie die richtige PHP Memcached-Erweiterung. Wenn es Versionsunterschiede gibt oder die Erweiterung nicht installiert ist, kann das Plugin auf die Verwendung der Festplattenspeicherung für das Objektspeichersystem zurückfallen, was erheblich langsamer ist als Memcached.

Installieren Sie die PHP Memcached-Erweiterung:
Installieren Sie je nach zuvor bestätigter PHP-Version die entsprechende Memcached-Erweiterung. Wenn Sie beispielsweise PHP 8.1-FPM ausführen, verwenden Sie sudo apt install php8.1-memcached.

Starten Sie PHP-FPM neu:
Stellen Sie nach der Installation sicher, dass Sie PHP-FPM neu starten, um die neue Erweiterung anzuwenden. Verwenden Sie sudo systemctl restart php8.1-fpm und passen Sie den Befehl an Ihre spezifische PHP-FPM-Version an.

Schritt 4: Testen Sie, ob Memcached funktioniert

Geben Sie telnet 127.0.0.1 11211 ein. Dieser Befehl prüft, ob Memcached einsatzbereit ist. Wenn Sie eine Verbindungsnachricht sehen, sind Sie bereit!

Telnet-Verbindung zum Memcached-Server

Schritt 5: Richten Sie Ihr WordPress-Plugin ein

Konfigurieren Sie wp-config.php:
Beginnen Sie mit der Konfiguration Ihrer WordPress-Installation zur Arbeit mit Memcached, indem Sie Änderungen an der Datei wp-config.php vornehmen. Dies stellt sicher, dass das Plugin nach der Aktivierung korrekt funktioniert, ohne weitere Anpassungen.

  1. Suchen und bearbeiten Sie wp-config.php: Greifen Sie mit einem Texteditor auf die Datei wp-config.php im Stammverzeichnis Ihrer WordPress-Installation zu.
  2. Fügen Sie den Cache Key Salt hinzu: Fügen Sie die folgende Zeile ein, um einen eindeutigen Namespace für den Cache Ihrer Website zu definieren: define( 'WP_CACHE_KEY_SALT', 'my-key-salt' ); Passen Sie ‘my-key-salt’ mit einer eindeutigen Phrase für Ihre Website an.
  3. Geben Sie den Memcached-Server an: Fügen Sie die folgende Zeile hinzu, um die Adresse und den Port Ihres Memcached-Servers anzugeben: define( 'OC4EVERYONE_MEMCACHED_SERVER' , '127.0.0.1:11211' ); Stellen Sie sicher, dass die Details mit Ihrer Memcached-Serverkonfiguration übereinstimmen.
  4. Speichern und schließen: Speichern Sie die Änderungen und schließen Sie die Datei wp-config.php.

Installieren Sie das Plugin:
Nachdem Ihre wp-config.php konfiguriert ist, fahren Sie mit Ihrem WordPress-Dashboard fort, fügen Sie ein neues Plugin hinzu und suchen Sie nach „Object Cache 4 Everyone“. Installieren und aktivieren Sie es.

Wenn das Plugin korrekt funktioniert, sehen Sie detaillierte Memcached-Statistiken und eine Option zum Leeren des Caches direkt auf der Plugin-Seite in Ihrem WordPress-Dashboard. Suchen Sie nach Informationen, die denen im folgenden Screenshot ähneln, einschließlich Leistungskennzahlen und einem Link „Cache leeren“.

Object Cache 4 Everyone läuft

Memcached lokal mit DDEV einrichten

Wenn Sie Ihre WordPress-Website lokal entwickeln und DDEV als Ihre lokale Entwicklungsumgebung verwenden, können Sie auch von den Leistungsverbesserungen von Memcached profitieren. Hier erfahren Sie, wie Sie Memcached in Ihrer lokalen DDEV-Umgebung einrichten:

Memcached in DDEV installieren:

  1. Installieren Sie DDEV-Memcached: Öffnen Sie Ihr Terminal und navigieren Sie zu Ihrem Projektverzeichnis. Führen Sie den folgenden Befehl aus, um den Memcached-Dienst zu Ihrem DDEV-Projekt hinzuzufügen: ddev get ddev/ddev-memcached && ddev restart Dieser Befehl ruft die erforderlichen Memcached-Komponenten für DDEV ab und startet Ihre DDEV-Umgebung neu, wobei Memcached integriert wird.

WordPress für die Verwendung von Memcached konfigurieren:

  1. Aktualisieren Sie Ihre wp-config.php: Genau wie auf Ihrem Live-Server müssen Sie den Memcached-Server in Ihrer lokalen Entwicklungsumgebung angeben. Verwenden Sie dieselben Zeilen, die Sie zuvor zu Ihrer Datei wp-config.php hinzugefügt haben: define( 'WP_CACHE_KEY_SALT', 'your-unique-phrase' ); define( 'OC4EVERYONE_MEMCACHED_SERVER' , 'ddev-yourprojectname-memcached:11211'); Ersetzen Sie your-unique-phrase und ddev-yourprojectname-memcached durch die entsprechenden Werte für Ihre lokale Einrichtung.

Durch Befolgen dieser zusätzlichen Schritte können Sie die Geschwindigkeit und Effizienz von Memcached auch bei der lokalen Entwicklung mit DDEV nutzen. Dies gewährleistet eine konsistentere Entwicklungs- und Testumgebung, die die Leistungsverbesserungen, die Sie in Ihrer Live-Umgebung erwarten würden, genau widerspiegelt.

Das ist alles! Sie haben Memcached mit Ihrer WordPress-Website eingerichtet. Ihre Website sollte jetzt schneller sein. Viel Spaß beim Debuggen!