Probleem: Nginx Laadt CSS-bestanden Niet
Wanneer Nginx CSS-bestanden niet laadt, zien websites er ongeopgemaakt en defect uit. Dit probleem kan de gebruikerservaring en functionaliteit van een webapplicatie beïnvloeden, aangezien CSS nodig is voor lay-out en ontwerp.
Veelvoorkomende Oorzaken van CSS-laadfouten in Nginx
Onjuiste MIME-typeconfiguratie
Juiste MIME-type-instellingen helpen Nginx om CSS-bestanden correct te serveren. MIME-types vertellen browsers hoe bestandstypen te interpreteren. Wanneer CSS-bestanden niet het juiste MIME-type hebben, laden browsers ze mogelijk niet, wat resulteert in ongeopgemaakte webpagina's.
Om de MIME-typeconfiguratie in Nginx te controleren:
- Open het hoofd Nginx-configuratiebestand, meestal op /etc/nginx/nginx.conf.
- Zoek de regel die het mime.types-bestand bevat:
include /etc/nginx/mime.types; - Bevestig dat deze regel aanwezig is en niet als commentaar is gemarkeerd.
- Open het mime.types-bestand en controleer op het CSS MIME-type:
text/css css;
Tip: Test MIME-typeconfiguratie
Om te testen of uw MIME-typeconfiguratie correct is, gebruikt u het curl-commando met de -I optie om de Content-Type header van uw CSS-bestand te controleren:
curl -I http://uwdomein.com/pad/naar/uw/style.css
De respons zou een regel moeten bevatten zoals:
Content-Type: text/css
Als het een ander inhoudstype toont, moet uw MIME-typeconfiguratie worden aangepast.
Verkeerd geconfigureerde serverblokken
Serverblokken in Nginx definiëren hoe de server verzoeken voor domeinen of IP-adressen afhandelt. Ze beïnvloeden hoe bestanden, inclusief CSS, aan clients worden geserveerd.
Problemen met location-richtlijnen in serverblokken zijn onder andere:
- Verkeerde hoofdmap: De root-richtlijn wijst mogelijk naar de verkeerde map, waardoor Nginx CSS-bestanden niet kan vinden.
- Verkeerd geplaatste richtlijnen: Sommige richtlijnen, zoals de include-instructie voor mime.types, bevinden zich mogelijk in een location-blok in plaats van het http-blok.
- Strikte machtigingen: Location-blokken hebben mogelijk regels die toegang tot CSS-bestanden blokkeren.
Om deze problemen op te lossen, bekijkt u uw serverblok-configuratie en controleert u of de location-richtlijnen zijn ingesteld om statische bestanden zoals CSS te serveren.
Problemen met CSS-laden in Nginx Oplossen
Nginx-configuratiebestanden Controleren
Om problemen met CSS-laden in Nginx op te lossen, bekijkt u het hoofdconfiguratiebestand, nginx.conf. Dit bestand bevindt zich meestal op /etc/nginx/nginx.conf. Zoek naar deze belangrijke elementen:
- Het http-blok met de include-instructie voor mime.types.
- Aangepaste serverblokken of includes voor andere configuratiebestanden.
Controleer vervolgens de serverblok-configuratie. Deze staat vaak in aparte bestanden in de /etc/nginx/conf.d/ map. Controleer in het serverblok:
- De root-richtlijn, die de map voor uw websitebestanden instelt.
- De location-blokken, vooral die welke statische bestanden zoals CSS afhandelen.
Hier is een voorbeeld van een basisserverblok-configuratie:
server {
listen 80;
server_name example.com;
root /var/www/example.com;
location / {
try_files $uri $uri/ =404;
}
location ~* \.css$ {
add_header Content-Type text/css;
}
}
Tip: Controleer Bestandsmachtigingen
Zorg ervoor dat uw CSS-bestanden de juiste machtigingen hebben. Nginx heeft leestoegang nodig om deze bestanden te serveren. U kunt de juiste machtigingen instellen met:
chmod 644 /pad/naar/uw/css/bestand.css
MIME-types Verifiëren
Het mime.types-bestand is belangrijk voor de juiste bestandsafhandeling in Nginx. Dit bestand koppelt bestandsextensies aan MIME-types en vertelt browsers hoe verschillende bestandstypen te interpreteren.
Om MIME-types te verifiëren:
- Open het mime.types-bestand, meestal op /etc/nginx/mime.types.
- Zoek de regel voor CSS-bestanden:
text/css css; - Zorg ervoor dat deze regel aanwezig is en niet als commentaar is gemarkeerd.
Om ervoor te zorgen dat CSS-bestanden correct zijn gekoppeld:
- Controleer of de include-instructie voor mime.types zich in het http-blok van uw nginx.conf-bestand bevindt.
- Verifieer dat uw CSS-bestanden de .css-extensie hebben.
- Voeg indien nodig een specifiek location-blok voor CSS-bestanden toe in uw serverconfiguratie:
location ~* \.css$ { add_header Content-Type text/css; }
Na het maken van wijzigingen test u uw configuratie en herlaadt u Nginx:
nginx -t
sudo systemctl reload nginx
Deze stappen helpen u veelvoorkomende problemen met CSS-laden in Nginx te vinden en op te lossen.
Oplossingen voor CSS-laadproblemen in Nginx
MIME-type-instellingen Corrigeren
Om MIME-types voor CSS-bestanden in Nginx in te stellen:
-
Open het mime.types-bestand:
sudo nano /etc/nginx/mime.types -
Zoek of voeg deze regel toe:
text/css css; -
Sla het bestand op en sluit af.
-
Open het hoofd Nginx-configuratiebestand:
sudo nano /etc/nginx/nginx.conf -
Voeg deze regel toe in het http-blok:
include /etc/nginx/mime.types; -
Sla het bestand op en sluit af.
Voorbeeld van CSS MIME-typeconfiguratie in mime.types:
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
application/atom+xml atom;
application/rss+xml rss;
}
Tip: Controleer MIME-types met curl
Om te verifiëren of uw server het juiste MIME-type voor CSS-bestanden verzendt, gebruikt u het curl-commando:
curl -I http://uw-website.com/pad/naar/uw/style.css
Zoek naar de "Content-Type" header in de respons. Het zou "text/css" moeten tonen voor CSS-bestanden.
Serverblok-configuratie Aanpassen
Om location-richtlijnen voor CSS-bestanden te wijzigen:
-
Open uw serverblok-configuratiebestand:
sudo nano /etc/nginx/sites-available/uw_site -
Voeg het location-blok voor CSS-bestanden toe of wijzig het:
location ~* \.css$ { add_header Content-Type text/css; expires 30d; } -
Controleer of de root-richtlijn naar de juiste map wijst:
root /pad/naar/uw/website; -
Sla het bestand op en sluit af.
Voorbeeld van een serverblok-instelling voor CSS-bestanden:
server {
listen 80;
server_name example.com;
root /var/www/example.com;
location / {
try_files $uri $uri/ =404;
}
location ~* \.css$ {
add_header Content-Type text/css;
expires 30d;
}
location ~* \.(js|jpg|jpeg|png|gif|ico)$ {
expires 30d;
}
}
Na deze wijzigingen test u uw Nginx-configuratie:
sudo nginx -t
Als de test slaagt, herlaadt u Nginx om de wijzigingen toe te passen:
sudo systemctl reload nginx
Deze wijzigingen zouden de meeste CSS-laadproblemen in Nginx moeten oplossen.





