Nginx FastCGI Cache steigert die Leistung Ihrer Website, indem es die Belastung Ihres Ubuntu-Servers reduziert. Dies ist besonders effektiv für dynamische Inhalte, da Nginx zwischengespeicherte Inhalte direkt bereitstellen kann, ohne PHP-Prozessoren zu verwenden. Dies beschleunigt die Reaktionszeit und senkt den Ressourcenverbrauch. Hier sind die wichtigsten Funktionen und Vorteile von Nginx FastCGI Cache für Ihre Web-Infrastruktur:
- Effiziente Bereitstellung von Inhalten: Der Nginx FastCGI Cache speichert die dynamische Inhaltsausgabe und ermöglicht so einen schnelleren Zugriff und eine schnellere Verteilung.
- Reduzierte Serverlast: Durch die Bereitstellung zwischengespeicherter Inhalte wird die Anzahl der PHP-Aufrufe minimiert und die Serverlast verringert.
- Skalierbarkeit: Nginx FastCGI Cache hilft dabei, den erhöhten Datenverkehr zu bewältigen, ohne die Geschwindigkeit zu beeinträchtigen, während Ihre Website wächst.
- Anpassbares Caching: Diese Option bietet Flexibilität bei der Festlegung der Cache-Ablauf-, Umgehungs- und Aktualisierungsbedingungen entsprechend Ihren Anforderungen.
- Verbesserte Benutzererfahrung: Schnellere Website-Ladezeiten verbessern das Benutzererlebnis und wirken sich positiv auf die Besucherbindung und das SEO-Ranking aus.
- Ressourcenoptimierung: Optimiert die Nutzung der Serverressourcen und führt so zu einer effizienteren Bearbeitung gleichzeitiger Anfragen.
- Einfaches Debuggen: Bietet unkomplizierte Mechanismen zum Debuggen und Validieren zwischengespeicherter Inhalte und gewährleistet so einen reibungslosen Betrieb.
- Kompatibilität: Funktioniert nahtlos mit beliebten CMS-Plattformen und verbessert deren Leistung ohne umfangreiche Konfiguration.
Wenn wir uns nun mit der technischen Anleitung befassen, denken Sie daran, dass die Implementierung von Nginx FastCGI Cache eine strategische Möglichkeit ist, die Effizienz Ihrer Website und die Benutzerzufriedenheit zu verbessern. Beginnen wir mit der Verbesserung der Leistung Ihrer Website mit Nginx FastCGI Cache.
Nginx FastCGI Cache einrichten
Bearbeiten der Nginx-Konfigurationsdatei für FastCGI Cache
Öffnen Sie die Konfigurationsdatei
Öffnen Sie zunächst das nginx.conf
Datei. Wir verwenden den Nano-Texteditor, aber Sie können jeden beliebigen Texteditor verwenden, mit dem Sie vertraut sind. Geben Sie diesen Befehl ein:
sudo nano /etc/nginx/nginx.conf
FastCGI-Parameter konfigurieren
Suchen Sie in der Datei den HTTP-Block und fügen Sie die folgenden Zeilen hinzu:
fastcgi_cache_path /var/nginx/fastcgi_cache levels=1:2 keys_zone=fcgicache:150m max_size=20g inactive=60m use_temp_path=off;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
Nach Eingabe der Zeilen drücken Sie CTRL + O
, Typ Y
und drücken Sie dann CTRL + X
beenden.
Verstehen Sie die FastCGI-Parameter
fastcgi_cache_path
: Dieser Parameter legt den Speicherort für den FastCGI-Cache fest (/var/nginx/fastcgi_cache
). Dies ist wichtig, da es bestimmt, wo der zwischengespeicherte Inhalt gespeichert wird.levels=1:2
: Dadurch wird unter Ihrem Cache-Speicherort eine zweistufige Verzeichnishierarchie erstellt. Dieses Design hilft dabei, Dateien auf zwei Verzeichnisse zu verteilen, was wiederum das Risiko von Festplatten-E/A-Engpässen verringert.keys_zone
: Gibt den Namen der gemeinsam genutzten Speicherzone an (fcgicache
) und seine Größe (150M
). Die gemeinsam genutzte Speicherzone ist für die Speicherung von Cache-Schlüsseln und Metadaten von entscheidender Bedeutung.max_size
: Hiermit wird die maximale Größe des Caches definiert (in diesem Beispiel20GB
). Wenn dieses Limit erreicht ist, werden die ältesten Dateien entfernt, um Platz für neue zu schaffen.inactive
: Hiermit geben Sie die Dauer an, nach der Daten, auf die nicht zugegriffen wurde, aus dem Cache entfernt werden. In diesem Beispiel ist der Wert auf 60 Minuten eingestellt.use_temp_path
: Einstellung aufoff
weist Nginx an, Dateien direkt in den angegebenen Cache-Ordner zu schreiben und dabei die Verwendung eines temporären Speicherbereichs zu umgehen.fastcgi_cache_key
: Wird verwendet, um den Schlüssel für die Cache-Suche zu definieren. Nginx erstellt einen MD5-Hash dieses Schlüssels, der als Name für Cache-Dateien verwendet wird.
Konfigurieren Sie den Nginx-Serverblock für den FastCGI-Cache
Server-Blockdatei bearbeiten
Als nächstes müssen Sie Ihre Serverblockdatei bearbeiten. Für dieses Beispiel nehmen wir an, dass die Datei den Namen hat example.com.conf
. Öffnen Sie es mit dem folgenden Befehl:
sudo nano /etc/nginx/sites-available/example.com.conf
FastCGI-Cache-Direktiven einfügen
Vorausgesetzt, Sie haben LEMP installiert, fügen Sie die folgenden Zeilen in den Speicherortblock für PHP-Dateien ein:
fastcgi_cache fcgicache;
fastcgi_cache_valid 200 60m;
fastcgi_cache_use_stale error timeout updating invalid_header http_500 http_503;
fastcgi_cache_min_uses 1;
fastcgi_cache_lock on;
add_header X-FastCGI-Cache $upstream_cache_status;
Verstehen Sie die FastCGI-Cache-Direktiven
fastcgi_cache
: Aktiviert das Caching und gibt die zuvor definierte gemeinsam genutzte Speicherzone an.fastcgi_cache_valid
: Definiert die Cache-Dauer für bestimmte HTTP-Statuscodes.fastcgi_cache_use_stale
: Legt Bedingungen fest, unter denen Nginx eine veraltete zwischengespeicherte Antwort verwenden kann.fastcgi_cache_min_uses
: Gibt an, wie oft eine Antwort angefordert werden muss, bevor sie zwischengespeichert wird.fastcgi_cache_lock
: Stellt sicher, dass immer nur eine Anforderung gleichzeitig ein neues Cache-Element füllt, und verhindert so einen „Cache-Ansturm“.add_header
: Fügt eine benutzerdefinierte Kopfzeile hinzu (X-FastCGI-Cache
) an die HTTP-Antwort an, um anzugeben, ob die Antwort aus dem Cache bereitgestellt wurde.
Konfigurieren Sie FastCGI Cache Purge auf Nginx
Einrichten der Cachebereinigung
Mit der Cache-Bereinigung können Sie Inhalte aus dem Cache entfernen, bevor sie ablaufen. Um die Cache-Bereinigung zu konfigurieren, erstellen Sie eine Cache-Bereinigungsanweisung, indem Sie die folgenden Zeilen in Ihre Serverblockdatei einfügen:
location ~ /purge(/.*) {
# Uncomment the following two lines to allow purge only from the webserver
allow 127.0.0.1;
deny all;
fastcgi_cache_purge fcgicache "$scheme$request_method$host$1";
}
Drücken Sie CTRL + O
, Typ Y
und drücken Sie dann CTRL + X
, um den Texteditor zu verlassen.
Alternativer Ansatz für Probleme beim Leeren des Cache
Wenn Sie Probleme mit der Cache-Bereinigung haben, können Sie stattdessen die Ablaufzeit des Caches anpassen. Für Websites mit mittlerem bis hohem Datenverkehr ist es oft effizienter, eine niedrigere Ablaufrate festzulegen, z. B. 2 Stunden inaktiv und 4 Stunden für den Gesamtablauf.
Testen und Neustarten des Nginx-Servers
Testen der Konfiguration
Es ist wichtig, die Nginx-Konfiguration zu validieren, um Syntaxfehler oder Fehlkonfigurationen zu vermeiden. Verwenden Sie den folgenden Befehl:
sudo nginx -t
Wenn alles korrekt ist, sollten Sie die folgende Ausgabe sehen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie den Nginx-Server neu
Starten Sie abschließend den Nginx-Server neu, um die vorgenommenen Änderungen anzuwenden:
sudo systemctl restart nginx
Erstellen und Optimieren des Nginx FastCGI-Cache-Verzeichnisses
FastCGI-Cache-Verzeichnis erstellen
Erstellen wir nun das Verzeichnis, in dem Nginx die Cache-Dateien speichern wird. Dieser Pfad wurde zuvor in der nginx.conf
Datei:
sudo mkdir -p /var/nginx/fastcgi_cache
Optimieren Sie das Cache-Verzeichnis mit tmpfs (optional)
Wenn Ihr System über genügend RAM verfügt, können Sie tmpfs
um den Cache im Speicher zu speichern. Dies kann zu schnelleren Zugriffszeiten im Vergleich zur Festplattenspeicherung führen. Seien Sie jedoch vorsichtig, da die Speicherung im RAM erhebliche Speicherressourcen verbrauchen kann. So können Sie das Cache-Verzeichnis mounten als tmpfs
:
Bearbeiten /etc/fstab
Datei:
sudo nano /etc/fstab
Fügen Sie am Ende der Datei die folgende Zeile hinzu:
tmpfs /var/nginx/fastcgi_cache tmpfs defaults,size=512M 0 0
Dadurch werden 512 MB Ihres RAM für den Cache reserviert. Sie können die Größe entsprechend Ihren Systemressourcen anpassen.
Montieren Sie die tmpfs
:
sudo mount -a
Diese Konfiguration stellt sicher, dass der FastCGI-Cache im Speicher abgelegt wird und so eine schnellere Leistung auf Kosten der RAM-Auslastung bietet.
Überprüfen der Nginx FastCGI Cache-Funktionalität
Testen Sie FastCGI Cache mit curl
Sie können die ordnungsgemäße Funktion von FastCGI Cache überprüfen, indem Sie curl
Befehl. Abhängig von Ihren Cacheeinstellungen müssen Sie den Befehl möglicherweise mehrmals ausführen, bevor ein Cachetreffer angezeigt wird:
curl -I http://www.your-domain.com
Wenn Sie nicht haben curl
installiert ist, können Sie es mit folgendem installieren:
sudo apt install curl -y
Suchen Sie in der Ausgabe nach dem X-FastCGI-Cache: HIT
Header:
~$ curl -I https://www.example.com/
HTTP/1.1 200 OK
...
X-FastCGI-Cache: HIT
...
Dies zeigt an, dass die Anforderung aus dem Cache bedient wurde.
Konfigurieren von Cache-Ausschlüssen
Website-Elemente wie WordPress-Admin-Seiten, Kommentarbereiche und Sitemaps sollten nicht zwischengespeichert werden. Um Nginx so zu konfigurieren, dass diese nicht zwischengespeichert werden, fügen Sie den folgenden Code über dem location (~\.php$)
Zeile in Ihrer Server-Blockdatei:
# Cache by default
set $skip_cache 0;
# Don't cache URIs containing the following
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-..php|^/feed/|/tag/./feed/|index.php|/.sitemap..(xml|xsl)") {
set $skip_cache 1;
}
# Don't cache for logged-in users or comment authors
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
set $skip_cache 1;
}
# POST requests and URIs with a query string should bypass the cache
if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
set $skip_cache 1;
}
Debuggen von Cache-Ausschlüssen (optional)
Wenn Sie Notizen zu Debugging-Zwecken hinzufügen möchten, können Sie unter jedem set $skip_cache 1;
Aussage wie diese:
set $skip_reason "your custom note";
Dies kann hilfreich sein, um bei der Fehlerbehebung zu verstehen, warum bestimmte Inhalte nicht zwischengespeichert werden.
Nachdem Sie diese Konfigurationen vorgenommen haben, testen Sie die Konfiguration und starten Sie Nginx neu:
sudo nginx -t
sudo systemctl restart nginx
Best Practices und Überlegungen zum Nginx FastCGI Cache
Obwohl FastCGI-Caching erhebliche Leistungsvorteile bieten kann, muss unbedingt sichergestellt werden, dass die Konfiguration für Ihren spezifischen Anwendungsfall und Ihre Serverressourcen optimiert ist:
- Bewerten Sie die verfügbare RAM-Menge, bevor Sie sich entscheiden für
tmpfs
zum Zwischenspeichern. Stellen Sie sicher, dass Ihr Server über genügend Speicher für andere kritische Prozesse verfügt. - Passen Sie die Cache-Ausnahmen an Ihre Anwendung an. Die bereitgestellten Beispiele gelten speziell für WordPress, für andere Anwendungstypen benötigen Sie jedoch möglicherweise andere Ausnahmen.
- Überwachen Sie regelmäßig die Cache-Nutzung und -Leistung. Wenn der Cache zu viel Speicherplatz verbraucht oder die Leistung nicht wie erwartet verbessert, sollten Sie den Cache-Pfad, die Cache-Größe oder die Cache-Einstellungen entsprechend anpassen.
Abschluss
Nun, da haben Sie es! Wir haben die Schritte zur Installation von Nginx FastCGI Cache auf Ihrem Ubuntu-Server durchgegangen und bieten Ihnen eine Leistungssteigerung Ihrer Website durch die effiziente Verarbeitung dynamischer Inhalte. Denken Sie daran, dass die Beibehaltung Ihrer Cache-Einstellungen, um die Anforderungen Ihrer Website zu erfüllen, der Schlüssel zur Maximierung der Vorteile ist. Scheuen Sie sich nicht, die Einstellungen zu optimieren, um den idealen Punkt zu finden. Egal, ob Sie ein erfahrener Profi oder ein Neuling in der Serververwaltung sind, wir hoffen, dass dieser Leitfaden Ihnen bei der Optimierung Ihrer Webpräsenz eine nützliche Hilfe war. Halten Sie es einfach, bleiben Sie konsistent und freuen Sie sich auf ein schnelleres, reibungsloseres Website-Erlebnis für Sie und Ihre Besucher!