Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

open_file_cache în Nginx

Păstrează în memorie fișierele deschise des (descriptori, dimensiuni, date de modificare), ca Nginx să nu le caute pe disc la fiecare cerere.

Sintaxă
open_file_cache max=N [inactive=timp] | off;
open_file_cache_valid timp;
open_file_cache_min_uses număr;
open_file_cache_errors on | off;

Ce face open_file_cache

Pentru fiecare fișier static, Nginx verifică dacă există, îl deschide și îi citește dimensiunea și data modificării. open_file_cache păstrează aceste informații (și descriptorul deschis) pentru cele mai folosite max fișiere, ca cererile următoare să sară peste apelurile de sistem.

Un fișier nefolosit timp de inactive este scos din cache. open_file_cache_valid spune la cât timp se reverifică informațiile, open_file_cache_min_uses câte cereri sunt necesare în perioada inactive ca fișierul să rămână în cache, iar open_file_cache_errors on păstrează și rezultatul „fișier inexistent”.

Câștigul se vede pe site-uri cu foarte multe cereri la fișiere statice. Efectul secundar: după o actualizare a fișierelor pe disc, Nginx poate servi informația veche până la următoarea reverificare.

Parametri

Parametru Descriere
Context http, server, location.
Implicit open_file_cache off;, open_file_cache_valid 60s;, open_file_cache_min_uses 1;, open_file_cache_errors off;
max=N Numărul maxim de intrări; cele mai puțin folosite sunt scoase primele.
inactive=timp Implicit 60s. După cât timp fără cereri este scoasă o intrare.

Ce returnează

Nimic; reduce operațiile pe disc pentru fișierele statice.

Exemple

Exemplul 1: Cache pentru un site cu multe fișiere statice

http {
    open_file_cache max=10000 inactive=30s;
    open_file_cache_valid 60s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;
}

Exemplul 2: Fără cache pentru un director actualizat des

Fișierele din /build/ sunt regenerate la fiecare publicare, deci aici cache-ul ar servi informații vechi.

location /build/ {
    open_file_cache off;
}

Greșeli frecvente

  • Publici o versiune nouă a site-ului și o parte din vizitatori primesc 404 pentru fișiere noi timp de un minut: open_file_cache_errors on a reținut „fișier inexistent”. Reîncarcă Nginx după publicare sau micșorează open_file_cache_valid.
  • Confunzi open_file_cache cu cache-ul de conținut: nu păstrează conținutul fișierelor și nu are legătură cu proxy_cache sau fastcgi_cache.

Comenzi înrudite

  • sendfile, tcp_nopush, tcp_nodelay: sendfile trimite fișierele statice direct din nucleul sistemului, fără copieri prin memoria lui Nginx; tcp_nopush și tcp_nodelay reglează pachetele TCP.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: open_file_cache

Ai o nelămurire despre utilizarea comenzii open_file_cache sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.