Nginx auf Ubuntu einrichten: Leistungsstarker Webserver als Alternative zu Apache

Nginx ist ein schneller, ressourcenschonender Webserver und Reverse Proxy, der oft als Alternative zu Apache genutzt wird. Diese Anleitung zeigt, wie Nginx auf einem Ubuntu-Server installiert, konfiguriert und abgesicher...

Anleitung personalisieren

Trage deine Domain ein, damit die Konfigurationsbeispiele direkt für dein Setup angezeigt werden.

Nginx ist ein schneller, ressourcenschonender Webserver und Reverse Proxy, der oft als Alternative zu Apache genutzt wird. Diese Anleitung zeigt, wie Nginx auf einem Ubuntu-Server installiert, konfiguriert und abgesichert wird.

Voraussetzungen

  • Ubuntu 22.04 oder neuer
  • Benutzer mit sudo-Rechten
  • Aktive Internetverbindung

1. Nginx installieren

Aktualisieren der Paketlisten und Installation von Nginx:

sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y

2. Nginx-Dienst verwalten

Nginx starten, stoppen und aktivieren:

sudo systemctl start nginx    # Starten
sudo systemctl stop nginx     # Stoppen
sudo systemctl restart nginx  # Neustarten
sudo systemctl enable nginx   # Automatischen Start aktivieren

3. Firewall für Nginx konfigurieren

Falls ufw (Uncomplicated Firewall) aktiv ist:

sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status

4. Nginx testen

Aufrufen der Server-IP im Browser:

http://<deine-server-ip>

Die IP kann mit folgendem Befehl ermittelt werden:

ip a | grep inet

5. Standard-Webseite anpassen

Bearbeiten der Standard-Webseite:

sudo nano /var/www/html/index.html

Ersetzen des Inhalts mit:

<!DOCTYPE html>
<html>
<head>
    <title>Mein Nginx Server</title>
</head>
<body>
    <h1>Willkommen auf meinem Nginx-Server!</h1>
</body>
</html>

Speichern mit STRG + X, Y und Enter.

6. Eigene Serverblöcke (Virtual Hosts) konfigurieren

Erstellen einer neuen Konfigurationsdatei:

sudo nano /etc/nginx/sites-available/meineseite

Einfügen folgender Konfiguration (Domain anpassen):

server {
    listen 80;
    server_name meineseite.de www.meineseite.de;

    root /var/www/meineseite;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Speichern und das Webseitenverzeichnis erstellen:

sudo mkdir -p /var/www/meineseite
sudo chown -R www-data:www-data /var/www/meineseite
echo "<h1>Meine eigene Webseite</h1>" | sudo tee /var/www/meineseite/index.html

Konfiguration aktivieren:

sudo ln -s /etc/nginx/sites-available/meineseite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

7. Nginx mit SSL/TLS absichern (Let’s Encrypt)

Installation von Certbot:

sudo apt install certbot python3-certbot-nginx -y

SSL-Zertifikat für die Domain anfordern:

sudo certbot --nginx -d meineseite.de -d www.meineseite.de

Automatische Zertifikatserneuerung testen:

sudo certbot renew --dry-run