OffshoreVps
Anleitungen14 Okt. 20269 Min. LesezeitVon dem OffshoreVps-Team

So hosten Sie eine Website auf einem VPS mit Nginx und HTTPS

Nginx auf Ubuntu installieren, einen Server-Block anlegen, ein kostenloses Let's-Encrypt-Zertifikat hinzufügen und alles beschleunigen. Befehle zum Kopieren für eine Live-Seite in 20 Minuten.

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.

Terminalfenster auf einem VPS mit den Befehlen zum Hosten einer Website mit Nginx und HTTPS, beginnend mit „sudo apt update“
Die Art von Befehlen, die Sie in dieser Anleitung auf Ihrem Server ausführen.

Was Sie brauchen

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.

Die Schritte dieser Anleitung in der Reihenfolge: 1. Was Sie brauchen; 2. 1. Nginx installieren; 3. 2. Den Website-Ordner anlegen; 4. 4. Kostenloses HTTPS mit Let's Encrypt hinzufügen; 5. 5. Schneller machen; 6. Häufige Probleme
Die Schritte dieser Anleitung in der Reihenfolge.

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/default und laden Sie neu.