- Veröffentlicht am
- • How2-Tipps
Statische Websites mit NGINX hosten – HTML, CSS, JS schnell ausliefern
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
Wenn du eine schnelle, stabile und sichere Möglichkeit suchst, um statische Websites zu hosten, ist NGINX die perfekte Wahl. Egal, ob du ein Portfolio, eine Landingpage oder eine Dokumentation veröffentlichen willst – NGINX liefert HTML-, CSS- und JavaScript-Dateien mit beeindruckender Geschwindigkeit und minimalem Ressourcenverbrauch.
In diesem Artikel zeigen wir dir, wie du in wenigen Minuten eine statische Website mit NGINX einrichtest, optimierst und produktionsreif absicherst.
1. Was sind statische Websites?
Eine statische Website besteht aus unveränderlichen Dateien wie:
- HTML (Struktur der Seite),
- CSS (Design & Layout),
- JavaScript (Interaktivität).
Im Gegensatz zu dynamischen Seiten (z. B. WordPress oder PHP) wird der Inhalt direkt vom Server ausgeliefert, ohne Datenbank oder serverseitige Logik. Das bedeutet:
- Schnellere Ladezeiten
- Weniger Wartung
- Höhere Sicherheit
Und genau hier spielt NGINX seine Stärken aus.
2. Voraussetzungen
Du benötigst:
- Einen Server oder lokalen Rechner mit NGINX (z. B. Debian, Ubuntu, macOS oder Windows)
- Zugriff auf das Webverzeichnis (z. B.
/var/www/html) - Deine Website-Dateien (z. B.
index.html,style.css,script.js)
3. Website-Struktur vorbereiten
Lege dein Projektverzeichnis an:
sudo mkdir -p /var/www/meine-seite/html
Kopiere deine Dateien hinein:
sudo cp -r ~/projekte/meine-seite/* /var/www/meine-seite/html/
Die Verzeichnisstruktur sollte so aussehen:
/var/www/meine-seite/html/
├── index.html
├── style.css
└── script.js
4. Server-Block konfigurieren
Erstelle eine neue Konfigurationsdatei für deine Website:
sudo nano /etc/nginx/sites-available/meine-seite
Füge den folgenden Inhalt ein:
server {
listen 80;
server_name meine-seite.de www.meine-seite.de;
root /var/www/meine-seite/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
# Optional: Cache statischer Dateien
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff2?)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
}
Aktiviere die Site:
sudo ln -s /etc/nginx/sites-available/meine-seite /etc/nginx/sites-enabled/
Teste die Konfiguration:
sudo nginx -t
Wenn „syntax is ok“ erscheint:
sudo systemctl reload nginx
5. Website im Browser testen
Rufe im Browser auf:
http://meine-seite.de
Du solltest deine statische Website sehen. Wenn du lokal testest, kannst du auch verwenden:
http://localhost
6. Performance optimieren
NGINX ist bereits schnell – aber mit wenigen Tricks wird er blitzschnell:
Kompression aktivieren (gzip)
gzip on;
gzip_types text/plain text/css application/javascript application/json image/svg+xml;
gzip_min_length 256;
Keep-Alive aktivieren
keepalive_timeout 65;
HTTP/2 aktivieren (mit SSL)
listen 443 ssl http2;
Browser-Caching
Statische Dateien werden so zwischengespeichert:
expires 7d;
add_header Cache-Control "public";
7. HTTPS aktivieren (Let's Encrypt)
Für eine sichere Verbindung kannst du kostenlos Let's Encrypt verwenden:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d meine-seite.de -d www.meine-seite.de
Zertifikate werden automatisch konfiguriert und regelmäßig erneuert.
8. Typische Probleme & Lösungen
| Problem | Ursache | Lösung |
|---|---|---|
| 404-Fehler | Falscher root-Pfad |
Pfad prüfen und ggf. anpassen |
| Keine CSS/JS-Dateien | Rechteproblem | sudo chown -R www-data:www-data /var/www/meine-seite |
| Browser lädt alte Versionen | Kein Cache-Header | expires und Cache-Control aktivieren |
| Keine SSL-Verbindung | Zertifikat fehlt | Certbot ausführen |
9. Best Practices
✅ Verwende einen eigenen Server-Block pro Domain/Subdomain
✅ Halte die Verzeichnisstruktur einheitlich
✅ Aktiviere gzip und Browser-Caching
✅ Nutze HTTP/2 für schnellere Übertragungen
✅ Überwache Logs regelmäßig (/var/log/nginx/access.log, error.log)
Mit NGINX kannst du statische Websites extrem schnell, stabil und sicher hosten. Dank einfacher Konfiguration und hoher Effizienz ist er ideal für Entwickler, Agenturen und Content-Plattformen, die auf Performance und Zuverlässigkeit setzen.
Einmal eingerichtet, liefert NGINX deine HTML-, CSS- und JavaScript-Dateien in Lichtgeschwindigkeit – und das mit minimalem Ressourcenverbrauch.