Shared Hosting ist einfach, aber ein VPS bietet Ihnen Geschwindigkeit, Root-Zugriff und keine störenden Nachbarn. Diese Anleitung bringt einen frischen Ubuntu-24.04- oder -22.04-Server in etwa zwanzig Minuten zu einer HTTPS-Website mit Nginx. Jeder Befehl lässt sich unverändert kopieren.
Was Sie brauchen
- Ein VPS mit mindestens 1 vCPU und 1 GB RAM (unsere Basis-Tarife genügen für die meisten kleinen Websites).
- Ein Domainname, der auf die IP-Adresse des Servers zeigt (siehe unsere Anleitung zum Verweisen einer Domain auf einen VPS).
- SSH-Zugriff als sudo-Benutzer. Wenn der Server ganz neu ist, führen Sie zuerst die grundlegende Absicherung durch.
1. Nginx installieren
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
Öffnen Sie die IP-Adresse Ihres Servers in einem Browser. Sie sollten die Nginx-Standardwillkommensseite sehen. Falls nicht, prüfen Sie, ob Ihre Firewall die Ports 80 und 443 erlaubt:
sudo ufw allow "Nginx Full"
sudo ufw status
2. Den Website-Ordner anlegen
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>It works</h1>" > /var/www/example.com/html/index.html
Ersetzen Sie example.com überall durch Ihre eigene Domain.
3. Einen Server-Block hinzufügen
sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Aktivieren Sie ihn, testen Sie die Konfiguration und laden Sie neu:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
4. Kostenloses HTTPS mit Let's Encrypt hinzufügen
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
Certbot bearbeitet Ihren Server-Block, leitet HTTP auf HTTPS um und richtet einen Timer ein, der das Zertifikat automatisch erneuert. Prüfen Sie den Timer mit systemctl list-timers | grep certbot.
5. Schneller machen
Aktivieren Sie Kompression und Browser-Caching für statische Dateien. Fügen Sie dies im server-Block ein:
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
location ~* \.(css|js|png|jpg|jpeg|webp|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public";
}
Laden Sie Nginx danach neu. Für dynamische Websites wie WordPress installieren Sie PHP-FPM und leiten .php-Anfragen dorthin weiter oder schalten ein Cache-Plugin davor.
Häufige Probleme
- 403 Forbidden: Nginx kann den Ordner nicht lesen. Prüfen Sie den Besitzer und dass jedes übergeordnete Verzeichnis ausführbar ist (
chmod o+x). - Certbot schlägt fehl: Die Domain zeigt noch nicht auf den Server, oder Port 80 ist blockiert.
- Die Standardseite erscheint weiterhin: Entfernen Sie
/etc/nginx/sites-enabled/defaultund laden Sie neu.