Einrichten von Memcaches auf Ubuntu
Dieser Abschnitt enthält Anweisungen zur Installation von memcached auf Ubuntu.
Da PHP keine native Unterstützung für memcache hat, müssen Sie eine Erweiterung für PHP installieren, um es zu verwenden. Es stehen zwei PHP-Erweiterungen zur Verfügung und es ist wichtig zu decodieren welche verwendet werden sollen:
-
memcache(kein D) - eine ältere, aber beliebte Erweiterung, die nicht regelmäßig gepflegt wird.
Diememcache-Erweiterung funktioniert derzeit nicht mit PHP 7. Siehe PHP-Dokumentation für memcache.Der genaue Name ist für Ubuntu
php5-memcache. -
memcached(mit einemd) - eine neuere und gepflegte Erweiterung, die mit PHP 7 kompatibel ist. Siehe PHP-Dokumentation für memcached.Der genaue Name ist für Ubuntu
php5-memcached.
Installieren und Konfigurieren von Memcached auf Ubuntu
So installieren und konfigurieren Sie memcached auf Ubuntu:
-
Geben Sie als Benutzer mit
rootBerechtigungen den folgenden Befehl ein:code language-bash apt-get -y updatecode language-bash apt-get -y install php5-memcached memcached -
Ändern Sie die memcached-Konfigurationseinstellung für
CACHESIZEund-l:-
Öffnen Sie
/etc/memcached.confin einem Texteditor. -
Suchen Sie den
-m. -
Ändern Sie den Wert in mindestens
1GB -
Suchen Sie den
-l. -
Ändern Sie den Wert in
127.0.0.1oderlocalhost -
Speichern Sie Ihre Änderungen in
memcached.confund beenden Sie den Texteditor. -
Starten Sie memcached neu.
code language-bash service memcached restart
-
-
Starten Sie den Webserver neu.
Für Apache,
service apache2 restart -
Fahren Sie mit dem nächsten Abschnitt fort.
Überprüfen der Funktionsweise von Memcached vor der Installation von Magento
Adobe empfiehlt, Memcached zu testen, um vor der Installation von Commerce sicherzustellen, dass es funktioniert. Dies dauert nur wenige Minuten und kann die Fehlerbehebung später vereinfachen.
Überprüfen, ob der zwischengespeicherte Inhalt vom Webserver erkannt wird
So überprüfen Sie, ob Memcached vom Webserver erkannt wird:
-
Erstellen Sie eine
phpinfo.phpDatei im Stammverzeichnis des Webservers:code language-php <?php // Show all information, defaults to INFO_ALL phpinfo(); -
Navigieren Sie zu dieser Seite in Ihrem Webbrowser. Beispiel:
code language-http http://192.0.2.1/phpinfo.php -
Stellen Sie sicher, dass memcached wie folgt angezeigt wird:
Stellen Sie sicher, dass Sie memcached Version 3.0.5 oder höher verwenden.
Wenn memcached nicht angezeigt wird, starten Sie den Webserver neu und aktualisieren Sie die Browser-Seite. Wenn es immer noch nicht angezeigt wird, überprüfen Sie, ob Sie die
php-pecl-memcached-Erweiterung installiert haben.
Überprüfen, ob zwischengespeicherte Daten zwischengespeichert werden können
Dieser Test verwendet ein PHP-Skript, um zu überprüfen, ob memcached Cache-Daten speichern und abrufen kann.
Weitere Informationen zu diesem Test finden Sie im Tutorial Installieren und Verwenden von Memcache auf Ubuntu.
Erstellen Sie cache-test.php im Stammverzeichnis des Webservers mit folgendem Inhalt:
$meminstance = new Memcached();
$meminstance->addServer("<memcached hostname or ip>", <memcached port>);
$result = $meminstance->get("test");
if ($result) {
echo $result;
} else {
echo "No matching key found. Refresh the browser to add it!";
$meminstance->set("test", "Successfully retrieved the data!") or die("Could not save anything to memcached...");
}
Dabei ist <memcached hostname or ip> entweder localhost, 127.0.0.1 oder der Hostname oder die IP-Adresse des Memcaches. Der <memcached port> ist der Listen-Port. Standardmäßig ist dies 11211.
Wechseln Sie zu dieser Seite in einem Webbrowser. Beispiel
http://192.0.2.1/cache-test.php
Wenn Sie das erste Mal zur Seite gehen, wird Folgendes angezeigt: No matching key found. Refresh the browser to add it!
Aktualisieren Sie den Browser. Die Nachricht ändert sich in Successfully retrieved the data!
Schließlich können Sie die Memcache-Schlüssel mithilfe von Telnet anzeigen:
telnet localhost <memcache port>
Geben Sie bei der Eingabeaufforderung Folgendes ein
stats items
Das Ergebnis ähnelt dem folgenden:
STAT items:2:number 1
STAT items:2:age 106
STAT items:2:evicted 0
STAT items:2:evicted_nonzero 0
STAT items:2:evicted_time 0
STAT items:2:outofmemory 0
STAT items:2:tailrepairs 0
STAT items:2:reclaimed 0
STAT items:2:expired_unfetched 0
STAT items:2:evicted_unfetched 0
Leeren des zwischengespeicherten Speichers und Beenden von Telnet:
flush_all
quit
Zusätzliche Informationen zum Telnet-Test