Memcached ist ein kostenloses, hochleistungsfähiges und verteiltes Speicherobjekt-Caching-System, das in C geschrieben ist. Es wird verwendet, um dynamische datenbankgesteuerte Websites zu beschleunigen, indem Daten und Objekte im RAM zwischengespeichert werden. Memcached funktioniert, indem es den Inhalt der Website-Datenbanktabelle und -abfrage im Arbeitsspeicher speichert, wodurch die Leistung der Website drastisch gesteigert wird. Mit Memcached können Sie eine hochgradig skalierbare und leistungsstarke Website erstellen und bereitstellen. Memcached wird jetzt von vielen Unternehmen verwendet, darunter Facebook, Reddit, Wikipedia, Craigslist, Yellowbot, YouTube und mehr.
In diesem Tutorial erklären wir Schritt für Schritt, wie man Memcache auf Ubuntu 18.04 VPS installiert und sichert.
Voraussetzungen
- Ein frischer Ubuntu 18.04-Server-VPS in Atlantic.Net Cloud.
- Auf Ihrem VPS ist ein Root-Passwort eingerichtet.
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud-Server an. Erstellen Sie einen neuen Server mit Ubuntu 18.04 als Betriebssystem und mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Apache und PHP installieren
Zuerst müssen Sie den Apache-Webserver und PHP auf Ihrem Server installieren. Sie können sie mit dem folgenden Befehl installieren:
apt-get install apache2 php php-dev php-pear libapache2-mod-php -y
Sobald alle Pakete installiert sind, starten Sie den Apache-Webserver und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:
systemctl start apache2systemctl enable apache2
Schritt 3 – Memcached installieren
apt-get install memcached libmemcached-tools php-memcached -y
Nach der Installation müssen Sie den Apache-Dienst neu starten, um die Änderungen zu übernehmen:
systemctl startet Apache2 neu
Als Nächstes können Sie den Status des Memcached-Dienstes mit dem folgenden Befehl überprüfen:
Systemctl-Status gespeichert
Sie sollten die folgende Ausgabe erhalten:
● memcached.service – memcached-Daemon Geladen:geladen (/lib/systemd/system/memcached.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (wird ausgeführt) seit Fr. 2019-08-30 09:30:02 KOORDINIERTE WELTZEIT; Vor 41 Sekunden Dokumente:man:memcached(1) Haupt-PID:19088 (memcached) Aufgaben:10 (Limit:1114) CGroup:/system.slice/memcached.service └─19088 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pidAug 30 09:30:02 ubuntu1804 systemd[1]:Started memcached daemon.
netstat -plunt | grep memcached
Ausgabe:
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 19088/memcached
Sie können die aktuellen Statistiken Ihres Memcached-Servers auch mit dem folgenden Befehl überprüfen:
echo "Statistikeinstellungen" | nc localhost 11211
Sie sollten die folgende Ausgabe erhalten:
STAT maxbytes 67108864STAT maxconns 1024STAT tcpport 11211STAT udpport 0STAT inter 127.0.0.1STAT verbosity 0STAT oldest 0STAT evictions onSTAT domain_socket NULLSTAT umask 700STAT growth_factor 1.25STAT chunk_size 48STAT num_threads 4STAT num_threads_per_udp 4STAT stat_key_prefix :STAT detail_enabled noSTAT reqs_per_event 20STAT cas_enabled yesSTAT tcp_backlog 1024STAT binding_protocol auto- verhandeln
Schritt 4 – Memcached konfigurieren
Die standardmäßige Memcache-Konfigurationsdatei befindet sich unter /etc/memcached.conf. Öffnen Sie nun die Memcached-Konfigurationsdatei und stellen Sie Memcached so ein, dass es auf localhost (127.0.0.1) mit 2 GB Speicher lauscht und maximal 1000 Verbindungen zulässt:
nano /etc/memcached.conf
Nehmen Sie die folgenden Änderungen vor:
# memcached als Daemon ausführen. Dieser Befehl ist impliziert und wird für die Ausgabe von -d# Log memcached an /var/log/memcachedlogfile /var/log/memcached.log# memory-m 2048# Der Standardverbindungsport ist 11211-p 11211# Führen Sie den Daemon aus als Wurzel. Start-memcache wird standardmäßig als root ausgeführt, wenn kein# -u Befehl in dieser Konfigurationsdatei vorhanden ist-u memcache# Geben Sie an, welche IP-Adresse überwacht werden soll. Standardmäßig werden alle IP-Adressen überwacht -l 127.0.0.1# Beschränken Sie die Anzahl gleichzeitig eingehender Verbindungen. Der Daemon-Standardwert ist 1024-c 500#. Verwenden Sie eine PID-Datei-P /var/run/memcached/memcached.pid
Speichern und schließen Sie die Datei. Starten Sie dann den Memcached-Dienst neu, um die Änderungen zu übernehmen:
systemctl startet memcached neu
Schritt 5 – Memcache testen
Memcached ist jetzt installiert und läuft. Überprüfen Sie als Nächstes, ob die Memcache-PHP-Erweiterung aktiviert ist und ordnungsgemäß funktioniert. Erstellen Sie dazu eine info.php-Datei im Apache-Stammverzeichnis:
nano /var/www/html/info.php
Fügen Sie die folgenden Zeilen hinzu:
Speichern und schließen Sie die Datei. Öffnen Sie dann Ihren Webbrowser und geben Sie die URL http://your-server-ip/info.php ein. Sie sollten die folgende Seite mit aktiviertem Memcache erhalten:
Es empfiehlt sich, die Datei info.php nach dem Testen zu entfernen, um Ihren Server vor Hackern zu schützen.
Rm -rf /var/www/html/info.php
Schritt 6 – Memcache mit SASL sichern
Ohne jegliche Sicherheit kann Memcached zu Denial-of-Service-Angriffen beitragen. Es wird empfohlen, Memcached mit SASL-Unterstützung und Benutzerauthentifizierung zu sichern.
Überprüfen Sie zunächst die Memcache-Verbindung ohne Sicherheit, indem Sie den folgenden Befehl ausführen:
memcstat --servers="127.0.0.1"
Ausgabe:
Server:127.0.0.1 (11211) pid:16805 uptime:764 time:1566107468 version:1.5.6 2.1.8Öffnen Sie als Nächstes die Memcached-Konfigurationsdatei und aktivieren Sie die SASL-Unterstützung und die ausführliche Protokollierung mit dem folgenden Befehl:
nano /etc/memcached.confFügen Sie am Ende der Datei die folgende Zeile hinzu:
-S-vvSpeichern und schließen Sie die Datei. Starten Sie dann den Memcached-Dienst neu:
systemctl startet memcached neuÜberprüfen Sie als Nächstes das Memcached-Protokoll, um festzustellen, ob die SASL-Unterstützung aktiviert wurde oder nicht:
journalctl -u memcachedSie sollten die folgende Ausgabe mit SASL-Unterstützung sehen:
18. August 05:52:37 hitesh30 09:47:14 ubuntu1804 systemd-memcached-wrapper[19941]:SASL initialisiert.Überprüfen Sie als Nächstes erneut die Memcache-Konnektivität mit dem folgenden Befehl:
memcstat --servers="127.0.0.1"Sie sollten keine Ausgabe erhalten; das bedeutet, dass die SASL-Unterstützung in Memcached aktiviert wurde.
Als Nächstes müssen Sie einen authentifizierten Benutzer für Memcached hinzufügen.
Installieren Sie dazu zuerst das SASL-Paket mit dem folgenden Befehl:
apt-get install sasl2-bin -yErstellen Sie nach der Installation ein Verzeichnis und eine Datei für die SASL-Konfiguration:
mkdir /etc/sasl2nano /etc/sasl2/memcached.confFügen Sie die folgenden Zeilen hinzu:
mech_list:plainlog_level:5sasldb_path:/etc/sasl2/memcached-sasldb2Speichern und schließen Sie die Datei. Erstellen Sie dann mit dem folgenden Befehl eine SASL-Datenbank mit dem Benutzer namens memcacheadmin:
saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1Sie werden aufgefordert, das Passwort einzugeben:
Passwort:Erneut (zur Bestätigung):Ändern Sie als Nächstes den Eigentümer der SASL-Datenbank:
chown memcache:memcache /etc/sasl2/memcached-sasldb2Starten Sie schließlich den Memcached-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl startet memcached neuÜberprüfen Sie als Nächstes die Memcache-Konnektivität erneut mit unseren Authentifizierungsdaten:
memcstat --servers="127.0.0.1" --username=user1 [email protected]Sie sollten die folgende Ausgabe erhalten:
Server:127.0.0.1 (11211) pid:18776 uptime:30 time:1566107912 version:1.5.6 Ubuntu .prevent8:Das bedeutet, dass Memcached jetzt mit SASL-Unterstützung und Benutzerauthentifizierung gesichert ist.