API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) · Lektion

Servera statiskt innehåll med Nginx

Konfigurera Nginx för att effektivt servera statiska filer och resurser samt optimera prestandan för webbapplikationer.

Lektion 3 av 410 steg

Servera statiskt innehåll med Nginx är en gratis lektion i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för API-gateway och reverse proxy (Nginx + Spring Cloud Gateway), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) innehåller totalt 4 lektioner.

Vad är statiskt innehåll?

När du besöker en webbplats ser du ofta en blandning av innehåll. En del ändras ofta (som nyhetsflöden), medan annat förblir oförändrat.

Statiskt innehåll syftar på filer som levereras till användaren exakt som de lagras. De ändras inte beroende på vem som visar dem eller när de visas.

  • HTML-filer: Strukturen för webbsidorna.
  • CSS-filer: Stilmallar och visuell presentation.
  • JavaScript-filer: Interaktiva element och logik på klientsidan.
  • Bilder: JPG, PNG, GIF, SVG.
  • Teckensnitt: Webbteckensnitt som TTF och WOFF.

Nginx är mycket effektivt på att leverera dessa statiska filer.

Ange rotkatalogen

För att tala om för Nginx var de statiska filerna finns använder du direktivet root. Det anger baskatalogen för webbplatsens innehåll.

När Nginx tar emot en förfrågan lägger det den efterfrågade URI:n till sökvägen i root för att hitta filen.

http {
  server {
    listen 80;
    server_name example.com;

    root /var/www/mywebsite; # Nginx looks for files here
  }
}

Location-block för sökvägar

location-blocket är avgörande för att styra hur Nginx ska hantera olika typer av förfrågningar baserat på deras URL-sökväg.

Du kan definiera specifika regler för förfrågningar till / (webbplatsens rot), /images/, /css/ eller någon annan sökväg.

server {
  # ...
  root /var/www/mywebsite;

  location / {
    # Rules for requests to the root path
  }

  location /images/ {
    # Rules for requests to /images/...
  }
}

Leverera en enkel HTML-sida

Nu kombinerar vi root och location / för att leverera en enkel HTML-sida. Nginx letar efter index.html som standard om du inkluderar direktivet index.

Om en förfrågan kommer till http://localhost/ försöker Nginx hitta /usr/share/nginx/html/index.html.

server {
  listen 80;
  server_name localhost;

  root /usr/share/nginx/html;

  location / {
    index index.html index.htm; # Try to serve index.html or index.htm
  }
}

Hantera CSS och JavaScript

Du behöver inte alltid separata location-block för varje filtyp. Om direktivet root är korrekt inställt levererar Nginx filer som /css/style.css eller /js/app.js direkt.

Du kan dock använda specifika location-block för mer detaljerad kontroll, till exempel för att tillämpa särskilda cachningsregler på vissa filtyper.

server {
  listen 80;
  server_name myapp.com;
  root /var/www/myapp/public;

  location / {
    index index.html;
  }

  location ~* \.(css|js)$ {
    # This matches .css or .js files
    # Could add specific headers or caching here
    add_header X-Content-Type-Options nosniff;
  }
}

Direktivet 'index'

Direktivet index talar om för Nginx vilka filer det ska leta efter när en katalog, och inte en specifik fil, efterfrågas.

Om en användare till exempel efterfrågar http://example.com/blog/ letar Nginx först efter index.html i katalogen blog. Om filen inte hittas försöker det med index.php och så vidare.

server {
  # ...
  root /var/www/mywebsite;

  location / {
    index index.html index.php default.html; # Order matters!
  }
}

Förstå MIME-typer

MIME-typer (Multipurpose Internet Mail Extensions) är etiketter som identifierar vilken typ av innehåll en fil innehåller, till exempel text/html för HTML-dokument eller image/jpeg för JPEG-bilder.

När Nginx levererar en fil skickar det en HTTP-header med namnet Content-Type och rätt MIME-typ. Det talar om för webbläsaren hur filen ska tolkas.

Nginx har vanligtvis en inbyggd fil med namnet mime.types som kopplar filändelser till rätt MIME-typer, så du behöver sällan konfigurera detta manuellt för vanliga statiska filer.

Cachning för bättre prestanda

För att optimera prestandan kan Nginx instruera webbläsare och proxyservrar att cacha statiska filer. Det innebär att återkommande besökare inte behöver ladda ned samma filer igen.

Direktivet expires anger HTTP-headern Expires och Cache-Control och talar om för klienterna hur länge de får lagra en fil innan de efterfrågar den igen.

server {
  # ...
  location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ {
    expires 30d; # Cache these files for 30 days
    add_header Cache-Control "public, no-transform";
  }

  location ~* \.html$ {
    expires 1h; # HTML files might change more often, cache for 1 hour
    add_header Cache-Control "public, no-transform";
  }
}

Snabbkontroll: statiskt innehåll

Anta att följande konfigurationsutdrag för Nginx används:

server {
  listen 80;
  server_name example.com;
  root /var/www/myproject/public;

  location / {
    index index.html;
  }

  location /assets/ {
    expires 7d;
  }
}

Om en förfrågan kommer till http://example.com/assets/image.png, var kommer Nginx att leta efter filen image.png?

Sammanfattning och nästa steg

Bra jobbat! Du har lärt dig grunderna i att leverera statiskt innehåll med Nginx.

  • Direktivet root definierar baskatalogen för dina filer.
  • location-block hjälper dig att tillämpa specifika regler baserat på förfrågningens URL.
  • Direktivet index anger standardfiler för katalogförfrågningar.
  • Nginx hanterar automatiskt MIME-typer för de flesta filer.
  • Direktivet expires förbättrar prestandan genom att aktivera cachning i webbläsaren.

Effektiv leverans av statiskt innehåll är en av Nginx främsta styrkor och gör webbapplikationer snabbare och mer responsiva. I kommande lektioner går vi igenom mer komplexa Nginx-konfigurationer!

Gratis att börja

Lär dig API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Servera statiskt innehåll med Nginx” gratis?

Ja – hela texten till ”Servera statiskt innehåll med Nginx” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway), kan Ni uppgradera till CoddyKit PRO. Kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) innehåller totalt 4 lektioner.

Vad lär jag mig i ”Servera statiskt innehåll med Nginx”?

Konfigurera Nginx för att effektivt servera statiska filer och resurser samt optimera prestandan för webbapplikationer. Ni övar på API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)?

Du behöver inga förkunskaper. Utbildningen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Servera statiskt innehåll med Nginx”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)-lektionen?

Ja. Varje API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Installation och konfiguration av Nginx
  2. Grundläggande Nginx-konfiguration
  3. Servera statiskt innehåll med Nginx
  4. Nginx location-block och matchning av begäranden
← Tillbaka till API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)