Schauen Sie sich die Themenartikel So aktivieren Sie serverseitiges FastCGI-Caching mit Nginx und PHP in der Kategorie an: Ar.taphoamini.com/wiki bereitgestellt von der Website Ar.taphoamini.com.
Weitere Informationen zu diesem Thema So aktivieren Sie serverseitiges FastCGI-Caching mit Nginx und PHP finden Sie in den folgenden Artikeln: Wenn Sie einen Beitrag haben, kommentieren Sie ihn unter dem Artikel oder sehen Sie sich andere Artikel zum Thema So aktivieren Sie serverseitiges FastCGI-Caching mit Nginx und PHP im Abschnitt „Verwandte Artikel an.
Nginx ist ein leistungsstarker Open-Source-Webserver, der die Bereitstellung von Inhalten und Anwendungen beschleunigen soll. Nginx erhöht die Sicherheit, verbessert die Skalierbarkeit und kann auch als Hochverfügbarkeits-Load-Balancer verwendet werden. Es kann als Reverse-Proxy verwendet werden und eine der Hauptanwendungen von Nginx ist der Content-Cache. Eine der besten Möglichkeiten ist die Verwendung von Nginx zum Zwischenspeichern von Inhalten. In diesem Artikel werden wir uns den Nginx FastCGI-Content-Cache für eine bessere Site-Performance ansehen.
Inhalt
Aktivieren Sie FastCGI-Caching in Nginx
In diesem Artikel gehen wir davon aus, dass Sie Nginx mit PHP bereits auf Ihrem Linux-Rechner installiert haben.
Um das FastCGI-Caching zu aktivieren, bearbeiten Sie die Konfigurationsdatei des virtuellen Hosts, um das Caching zu aktivieren.
$ cd /and so forth/nginx/conf.d
$ vi instance.conf
Fügen Sie den folgenden Inhalt am Anfang der Datei hinzu. Denken Sie daran, dass die Leitungen außen liegen müssen server Direktive.
fastcgi_cache_path /and so forth/nginx/cache ranges=1:2 keys_zone=MYAPP:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri";
Nein
- fastcgi_cache_path - Cache-Speicherort
- Ebenen - Cache-Hierarchieebene, erstellt eine zweistufige Verzeichnishierarchie in /and so forth/nginx/cache
- keyboard_zone - Speicherfeldname (in diesem Beispiel habe ich MYAPP verwendet. Sie können Ihre eigenen Einstellungen haben)
- inaktiv - Gibt den Zeitpunkt an, zu dem Cache-Daten, die zum angegebenen Zeitpunkt nicht verfügbar waren, aus dem Cache gelöscht werden. In diesem Beispiel ist die Inaktivitätszeit auf 60 Minuten eingestellt, die verlängert oder verkürzt werden kann.
- fastcgi_cache_key - Gibt an, wie Anweisungsnamen für Cache-Dateien Hashes sein sollen
In factcgi_cache_key verwendete Variablen
- $-Schema - HTTPS- oder HTTP-Anforderungsschema
- $ Anforderungsmethode - Gibt Abfragemethoden wie GET oder POST an
- $-Host - Der Name des Servers, der der Anfrage entspricht
- $request_uri - Der vollständige URI der Anwendung
Der Speicherort der Cache-Datei kann überall auf der Festplatte sein, aber die Systemgröße muss kleiner als RAM + Swap sein, um dies zu vermeiden. Speicher konnte nicht zugewiesen werden Ausgang.
Gehen Sie nun zur Standortdirektive, wo php die Anfrage an php-fpm weitergibt. Innerhalb Ort ~ .php $ füge die folgenden Zeilen hinzu
fastcgi_cache MYAPP;
fastcgi_cache_valid 200 1m;
Wobei MYAPP der Name des Speicherfelds ist und fastcgi_cache_valid 200 alle HTTP 200-Antworten speichert.
Wenn nur die Zeit angegeben wird, werden die Antworten 200, 301 und 302 zwischengespeichert.
Führen Sie diesen Befehl aus, um die Nginx-vhost-Konfiguration zu testen
$ nginx -t
Starten Sie den Nginx-Dienst jetzt neu.
$ systemctl restart nginx
So sieht die vollständige vhost-Konfigurationsdatei aus
fastcgi_cache_path /and so forth/nginx/cache ranges=1:2 keys_zone=MYAPP:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; server hear 80; root /usr/share/nginx/html; index index.php index.html index.htm; server_name your_server_name; location / try_files $uri $uri/ /index.html; location ~ .php$ try_files $uri =404; fastcgi_pass unix:unix:/run/php/php8.0-fpm.sock; fastcgi_index index.php; embody fastcgi_params; fastcgi_cache MYAPP; fastcgi_cache_valid 200 60m;
FastCGI-Cache-Tests
Erstellen Sie eine einfache PHP-Datei im Stammverzeichnis des Dokuments.
$ vi /usr/share/nginx/html/data.php
Fügen Sie den folgenden Inhalt ein und speichern Sie ihn
<?php phpinfo(); ?>
Rufen Sie nun die Datei mit dem Curl-Befehl oder einem Browser ab
Wenn der Cache ordnungsgemäß funktioniert, können Sie das Cache-Verzeichnis in der Datei /and so forth/nginx/cache angeben
Fügen Sie die folgende Zeile über der -Anweisung des Servers hinzu, um den Cache zu überspringen oder anzuklicken
add_header X-Cache $upstream_cache_status;
Starten Sie Nginx neu und führen Sie den Curl-Befehl wie folgt aus
$ curl -I http://localhost/info.php
Legen Sie Caching-Ausnahmen im Nginx fastCGI-Cache fest
Möglicherweise müssen Sie dynamische Inhalte nicht als Ihre primäre Authentifizierungsseite speichern. Die Anzeige dieser Art von Inhalten kann durch verschiedene Variablen verhindert werden, zum Beispiel: B. cachea $ Anforderungsmethode $request_uri $http_cookie usw.
Unten ist die Beispielkonfiguration für eine Cache-Ausnahme und sollte innerhalb des Servers verwendet werden
Richtlinie.
#Cache every little thing by default set $no_cache 0; #Don't cache POST requests if ($request_method = POST) set $no_cache 1; #Don't cache if the URL incorporates a question string if ($query_string != "") set $no_cache 1; #Don't cache the next URLs if ($request_uri ~* "/(cp/)") set $no_cache 1; #Don't cache if there's a cookie known as PHPSESSID if ($http_cookie = "PHPSESSID") set $no_cache 1;
Fazit
In diesem Artikel haben wir gelernt, wie man Nginx mit PHP für das Caching dynamischer Inhalte konfiguriert. Außerdem haben wir verschiedene Tipps zum Einrichten von Cache-Ausnahmen kennengelernt.
Einige Bilder zum Thema So aktivieren Sie serverseitiges FastCGI-Caching mit Nginx und PHP
Einige verwandte Schlüsselwörter, nach denen die Leute zum Thema suchen So aktivieren Sie serverseitiges FastCGI-Caching mit Nginx und PHP
#aktivieren #Sie #serverseitiges #FastCGICaching #mit #Nginx #und #PHP
Weitere Informationen zu Schlüsselwörtern So aktivieren Sie serverseitiges FastCGI-Caching mit Nginx und PHP auf Bing anzeigen
Die Anzeige von Artikeln zum Thema So aktivieren Sie serverseitiges FastCGI-Caching mit Nginx und PHP ist beendet. Wenn Sie die Informationen in diesem Artikel nützlich finden, teilen Sie sie bitte. vielen Dank.