Hvordan cache statiske ressurser ved hjelp av http cache i nginx

Hvordan cache statiske ressurser ved hjelp av http cache i nginx
Å være en Nginx Administrator, du ser alltid etter nye metoder for å forbedre ytelsen til webserverne dine. Dette søket vil ta deg ned en rekke veier, og til slutt vil du være forvirret til å velge mellom det uendelige antallet løsninger.

Aktivering Statiske ressurser eller Innholdsbufring er en mulig metode for Nginx optimalisering. Hver gang en nettleser besøker et nettsted, laster Nginx hurtigbufringen av bestemte filer som statiske bilder eiendeler til den enkelte nettleser i stedet for å betjene hver fil. Som et resultat lastes NGINX-drevne nettsteder raskere i nettleseren.

I dette innlegget lærer du Hvordan cache statiske ressurser ved hjelp av http cache i nginx. Før du går mot hurtigprosedyren for statisk innhold, forstår du først det grunnleggende konseptet med statisk innhold og hvordan statisk innhold er bufret i Nginx.

Hva er statisk innhold

Enhver fil som er lagret på en server og blir servert til brukere hver gang, på samme måte, er kjent som statisk innhold. Statisk innholdsfunksjonalitet ligner på en avis. Når en avis er publisert, vil alle som henter en kopi se de samme historiene og fotografiene hele dagen, uavhengig av hva nye arrangementer skjer på dagtid.

Innholdet på flertallet av nettstedet er basert på forhåndsformaterte statiske filer. Disse statiske filene vil sannsynligvis ikke endre seg over tid og for andre brukere. Sammenlignet med de dynamiske filene som genereres “On the Fly” basert på databaseinformasjon, er de statiske filene standardkandidatene for hurtigbufring. Eksempler på statisk innhold er bilder, musikk, javascript, filmer og CSS -filer.

Hvordan cache statiske ressurser i nginx

Den typiske metoden for nettbufring er å lagre en kopi av den statiske filen i en hurtigbuffer. Denne prosessen lar det statiske innholdet komme nærmere nettstedbrukeren og levere de statiske ressursene raskere neste gang. Statisk innhold eller ressurser kan hurtiget av innholdsleveringsnettverk (CDN) og nettlesere for en forhåndsbestemt tid og serveres til brukere så lenge den statiske ressursen blir bedt om. Siden statisk innhold ikke endres over tid, kan brukere motta de samme filene flere ganger.

Hva er HTTP -cacheoverskrifter i Nginx

For å definere hurtigbuffer og indikere cacheable nettinnhold, bruker nettutviklere HTTP -cacheoverskrifter. Du kan tilpasse hurtigbufringsstrategien din ved å bruke forskjellige hurtigbufferoverskrifter, som sikrer friskheten i det statiske innholdet eller ressursene dine.

For eksempel, "Cache-Control: Max-Age = 3600”Erklærer at den aktuelle filen bare kan bufres i en time etter at den må lastes på nytt fra kilden. Å merke en enkelt eller gruppe filer separat kan være tidkrevende. Ved å implementere kognitive metoder som er i stand til å overstyre cacheoverskrift, tillater moderne CDN -er deg å unngå denne praksisen.

Nå vil vi vise deg hvordan du aktiverer statisk hurtigbufring ved hjelp av HTTP -hurtigbufring i Nginx. Hvis nettstedet ditt består av mange statiske ressurser eller innhold, vil den medfølgende metoden hjelpe deg med å øke lastingen av websider. For å følge den undergitte metoden, bør du ha NGINX installert og aktivert på systemet ditt.

Hvordan aktivere statiske ressurser Caching ved hjelp av HTTP -hurtigbufring i Nginx

For det første, trykk “Ctrl+alt+t”Å åpne terminalen. Etter det, utfør den undergitte kommandoen for å åpne Nginx-konfigurasjonsfilen i Nano Editor:

$ sudo nano/etc/nginx/nginx.konf

Vi muliggjør statisk hurtigbufring i standard Nginx -filen. Hvis du har flere virtuelle verter og nettsteder, må du legge til følgende innstillinger i hver konfigurasjonsfil:

Legg til følgende linjer i cache de statiske ressursene som CSS -filer, bilder, ikoner, JavaScript -filer:

Plassering ~* \.(css | gif | jpg | js | png | ico | otf | sng | xls | doc | exe | jpeg | tgx) $
Access_log off;
utløper maks;

Vi har lagt til “Access_log off”For å deaktivere tilgangslogg for ikke å treffe I/O -grensen. Mens “utløper”Header inneholder informasjonen relatert til tilgjengeligheten av hurtigbufret innhold i nettleserbufferen. “utløper" er en Http header som kan plasseres i blokkene som er til stede i konfigurasjonsfilen, for eksempel server , http , og plassering blokkere. Vanligvis "utløper”HTTP -overskrift er lagt til i stedsblokken for å cache de statiske filene:

Nå, trykk “Ctrl+O”For å lagre endringene vi har gjort i Nginx -konfigurasjonsfilen:

Utfør “nginx”Kommando med“-t”Alternativ for å teste Nginx Konfigurasjonsfil og syntaks:

$ sudo nginx -t

Nå start Nginx på nytt ved å skrive den undergitte kommandoen i terminalen din:

$ sudo SystemCTL Restart Nginx

Hvordan teste hurtigbufring av statiske ressurser ved hjelp av HTTP -header live i Nginx

For nettstedet ditt som kjører på en Nginx Webserver, du kan legge til HTTP -overskriften Live Extension i nettleseren din for å teste hurtigbufringsprosessen.

For eksempel legger vi til HTTP -overskriften live til Firefox -nettleseren vår ved å klikke på "Legg til Firefox”Knapp:

Tillat HTTP-overskriften live for tilgang til nettstedet og nettleserrelaterte data:

Deretter åpner du nettstedet ditt som du har aktivert den statiske innholdsbufringen i konfigurasjonsfilen, og du vil se at HTTP -overskriften viser all informasjonen relatert til cache -ressurser:

Du kan også trykke på “Ctrl+Shift+I”For å åpne opp utviklerverktøyene. Laster inn nettstedet ditt noen ganger, og du vil legge merke til at nettlastingshastigheten er mye forbedret ettersom de fleste ressursene blir bufret under den første belastningen på websiden:

Konklusjon

På et nettsted er statisk innhold en type innhold som ikke endres på websider. Hvis nettstedet ditt inneholder statiske ressurser eller innhold, kan du forbedre ytelsen ved å aktivere hurtigbufring, som lagrer statisk innhold for raskere tilgang i nettleseren. I dette innlegget har vi forklart hva statisk innhold er, Hvordan statisk hurtigbufring fungerer i nginx, og du kan Cache statiske ressurser eller innhold ved bruk av http cache i nginx. Dessuten har vi også demonstrert hvordan For å teste hurtigbufring av statiske ressurser ved hjelp av HTTP -header live.