So verwenden Sie Nginx für leistungsstarkes statisches Datei-Caching
Nginx ist ein leichter Open-Source-Webserver, der aufgrund seiner hohen Leistung und hohen Parallelitätsfähigkeiten große Aufmerksamkeit und Verwendung gefunden hat. Nginx ist nicht nur ein Webserver, sondern hat auch eine wichtige Funktion: die Bereitstellung einer statischen Datei-Caching-Funktion, die die Zugriffsgeschwindigkeit und Leistung der Website erheblich optimieren kann. In diesem Artikel wird die Verwendung von Nginx für leistungsstarkes statisches Datei-Caching vorgestellt und entsprechende Codebeispiele bereitgestellt.
server { listen 80; server_name example.com; root /path/to/static/files; location ~* .(jpg|jpeg|png|gif|css|js)$ { expires 30d; access_log off; } }
In der obigen Konfiguration gibtlisten
den Port an, den Nginx überwacht, undserver_name
gibt den Domänennamen des Servers an.root
gibt das Stammverzeichnis an, in dem sich die statischen Dateien befinden. Dielocation
-Direktive gibt das passende URL-Muster und die entsprechenden Verarbeitungsparameter an. In der obigen Konfiguration entspricht der reguläre Ausdruck~* .(jpg|jpeg|png|gif|css|js)$
dem Suffix von jpg, jpeg, png, gif, css oder js. Für Dateien:expires
gibt an, dass die Cache-Gültigkeitsdauer 30 Tage beträgt, undaccess_log off
deaktiviert die Zugriffsprotokollierung auf statische Dateien.listen
指定了Nginx监听的端口,server_name
指定了服务器的域名。root
指定了静态文件所在的根目录。location
指令指定了匹配的URL模式,以及对应的处理参数。在上面的配置中,通过正则表达式~* .(jpg|jpeg|png|gif|css|js)$
匹配了以jpg、jpeg、png、gif、css或js为后缀的文件,expires
指定了缓存的有效期为30天,access_log off
则禁止了对静态文件的访问日志记录。
location ~* .(jpg|jpeg|png|gif|css|js)$ { expires 30d; access_log off; add_header Cache-Control "public"; add_header Pragma public; etag off; }
在上述示例中,add_header
指令添加了两个头部信息,分别是Cache-Control
和Pragma
。这两个头部信息告诉客户端和其他缓存服务器在一定时间内可以使用缓存的副本。etag off
禁用了Etag头部信息,因为在某些情况下,Etag可能会导致一些兼容性问题。
Cache-Control
和Expires
字段,以及响应内容的大小。如果缓存生效,那么在第一次访问静态文件后,再次请求时会看到Cache-Control
和Expires
的值与上述配置一致,并且响应内容的大小会变得非常小。另外,可以使用命令行工具如curl来查看HTTP响应头部信息。例如,可以执行以下命令来查看一个图片文件的HTTP响应头部信息:
$ curl -I example.com/path/to/image.jpg
如果缓存生效,那么你会在结果中看到类似下面的行:
Cache-Control: public, max-age=2592000 Expires: Thu, 10 Aug 2023 08:16:50 GMT
style.css
,我们可以将其重命名为style.v1.css
$ nginx -s reload
Im obigen Beispiel fügt dieadd_header
-Direktive zwei Header-Informationen hinzu, nämlichCache-Control
undPragma
-Code >. Diese beiden Header teilen Clients und anderen Caching-Servern mit, dass die zwischengespeicherte Kopie für einen bestimmten Zeitraum verfügbar ist.etag off
deaktiviert die Etag-Header-Informationen, da Etag in manchen Fällen Kompatibilitätsprobleme verursachen kann.
Überprüfen Sie, ob der statische Dateicache wirksam ist
Um zu überprüfen, ob der statische Dateicache wirksam ist, können Sie zur Überprüfung die Entwicklertools oder Befehlszeilentools des Browsers verwenden. In den Entwicklertools des Browsers können Sie die FelderCache-Control
undExpires
des HTTP-Antwortheaders sowie die Größe des Antwortinhalts anzeigen. Wenn der Cache aktiv ist, werden Sie nach dem ersten Zugriff auf die statische Datei feststellen, dass die Werte vonCache-Control
undExpires
mit den oben genannten übereinstimmen Wenn Sie die Konfiguration erneut anfordern, wird der Antwortinhalt sehr klein.
style.css
, können wir sie in
style.v1.css
umbenennen und die Konfigurationsdatei von Nginx so aktualisieren, dass sie mit dem neuen Dateinamen übereinstimmt. Auf diese Weise müssen Sie bei jeder Änderung der CSS-Datei nur die Versionsnummer im Dateinamen aktualisieren. Darüber hinaus bietet Nginx auch einen Reload-Befehl zum Neuladen der Konfigurationsdatei, ohne den Server anzuhalten. Sie können beispielsweise den folgenden Befehl ausführen, um die Nginx-Konfigurationsdatei neu zu laden: rrreee Auf diese Weise liest Nginx die Konfigurationsdatei erneut und die aktualisierte Konfiguration wird sofort wirksam. ZusammenfassungDurch die Verwendung von Nginx für das statische Datei-Caching können die Leistung und Zugriffsgeschwindigkeit der Website erheblich verbessert werden. In diesem Artikel stellen wir vor, wie man Nginx konfiguriert, um statischen Dateizugriff und Caching-Funktionen zu ermöglichen, und stellen entsprechende Codebeispiele und Überprüfungsmethoden bereit. Wir hoffen, dass dieser Inhalt Ihnen dabei hilft, die Leistung Ihrer Website zu optimieren.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx für leistungsstarkes statisches Datei-Caching. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!