Tutorials  /  Ubuntu

Nginx auf Ubuntu 25.04 installieren und absichern

Ccentron Redaktion · Oktober 2025 ·6 Min. Lesezeit ·Ubuntu, Tutorial

Nginx ist eine kostenlose, quelloffene Webserver-Software, die sich hervorragend für das effiziente Hosting von statischen und dynamischen Webanwendungen oder Diensten eignet. Sie kann als Webserver, Load Balancer, Reverse Proxy oder HTTP-Cache eingesetzt werden und ermöglicht so eine nahtlose Integration in bestehende Server-Stacks oder den direkten Zugriff über die IP-Adresse oder Domain des Servers.

In dieser Anleitung wird beschrieben, wie Nginx unter Ubuntu 25.04 installiert und konfiguriert wird, einschließlich der Einrichtung einer Beispiel-Webanwendung zur Leistungsoptimierung deines Servers.

Voraussetzungen

Bevor du beginnst, stelle sicher, dass Folgendes vorhanden ist:

  • Zugriff auf eine Ubuntu-25.04-Instanz als Nicht-Root-Benutzer mit sudo-Rechten.
  • Ein Domain-A-Eintrag, der auf die öffentliche IP-Adresse der Instanz verweist (z. B. app.example.com).
VM

Passende Infrastruktur bei centron

Ubuntu-Server ohne eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Nginx auf Ubuntu 25.04 installieren

Nginx ist in den Standard-APT-Repositories von Ubuntu enthalten. Befolge die folgenden Schritte, um den Paketindex zu aktualisieren und Nginx auf deinem Server zu installieren.

Paketindex aktualisieren

Konsole
$ sudo apt update

Nginx installieren

Konsole
$ sudo apt install nginx -y

Installierte Nginx-Version prüfen

Konsole
$ nginx -version

Beispielausgabe:

nginx version: nginx/1.26.3 (Ubuntu)

Nginx-Dienst verwalten

Unter Ubuntu läuft Nginx als systemd-Dienst. Dadurch kannst du den Serverprozess einfach steuern und seinen Status prüfen. Mit den folgenden Befehlen lässt sich Nginx starten, stoppen oder neu starten.

Nginx beim Systemstart aktivieren

Konsole
$ sudo systemctl enable nginx

Beispielausgabe:

Synchronizing state of nginx.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable nginx

Nginx starten, stoppen und neu starten

Nginx starten:

Konsole
$ sudo systemctl start nginx

Nginx stoppen:

Konsole
$ sudo systemctl stop nginx

Nginx neu starten:

Konsole
$ sudo systemctl restart nginx

Nginx-Status prüfen

Konsole
$ sudo systemctl status nginx

Beispielausgabe:

● nginx.service - Hochleistungs-Webserver und Reverse Proxy Server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-04-23 16:27:12 UTC; 8s ago
 Invocation: 83add31885be44869b2e3573230fbdee
       Docs: man:nginx(8)
    Process: 5578 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 5580 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 5581 (nginx)
      Tasks: 5 (limit: 8761)
     Memory: 4.4M (peak: 5M)
        CPU: 35ms
     CGroup: /system.slice/nginx.service
             ├─5581 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ├─5582 "nginx: worker process"
             ├─5583 "nginx: worker process"
             ├─5584 "nginx: worker process"
             └─5585 "nginx: worker process"

Wenn im Status Active: active (running) angezeigt wird, läuft Nginx korrekt. Sollte Active: failed erscheinen, beende zunächst Prozesse, die Port 80 belegen, und starte Nginx anschließend neu.

Neuen virtuellen Nginx-Host erstellen

Virtuelle Hosts bestimmen, wie Nginx Anfragen verarbeitet und Dateien je nach Domain oder Verzeichnisstruktur bereitstellt. Befolge die folgenden Schritte, um einen neuen Host einzurichten.

Virtuelle Host-Konfigurationsdatei erstellen

Konsole
$ sudo nano /etc/nginx/sites-available/app.example.com.conf

Virtuelle Host-Konfiguration hinzufügen

Code
server {
        listen 80;
        listen [::]:80;

        server_name app.example.com;

        root /var/www/app.example.com;
        index index.html;

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

Diese Konfiguration sorgt dafür, dass Nginx Anfragen an app.example.com entgegennimmt und Inhalte aus dem Verzeichnis /var/www/app.example.com ausliefert.

Virtuellen Host aktivieren

Verknüpfe die Konfiguration mit dem Verzeichnis /etc/nginx/sites-enabled, um sie auf dem Server zu aktivieren.

Konsole
$ sudo ln -s /etc/nginx/sites-available/app.example.com.conf /etc/nginx/sites-enabled/

Webroot-Verzeichnis erstellen

Konsole
$ sudo mkdir -p /var/www/app.example.com

HTML-Datei erstellen

Konsole
$ sudo nano /var/www/app.example.com/index.html

HTML-Inhalt hinzufügen

Code
<html>
    <head></head>
    <body>
        <h1>Willkommen von centron</h1> 
    </body>
</html>

Wenn du diese Datei im Browser öffnest, zeigt sie die Meldung „Willkommen von centron“ an.

Konfiguration testen

Konsole
$ sudo nginx -t

Beispielausgabe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nginx neu starten

Konsole
$ sudo systemctl restart nginx

Virtuellen Host überprüfen

Mit curl kannst du prüfen, ob deine Domain die Seite korrekt ausliefert.

Konsole
$ curl http://app.example.com

Erwartete Ausgabe:

<html>
    <head></head>
    <body>
        <h1>Willkommen von centron</h1> 
    </body>
</html>

Nginx-Webserver absichern

SSL-Zertifikate schützen die Verbindung zwischen dem Browser des Nutzers und dem Nginx-Webserver, indem sie Daten über das HTTPS-Protokoll verschlüsseln. Da Nginx standardmäßig auf dem unverschlüsselten HTTP-Port 80 lauscht, lässt sich die Sicherheit durch ein vertrauenswürdiges Let’s-Encrypt-Zertifikat mit Certbot erhöhen. Befolge die folgenden Schritte, um deinen Nginx-Server mit HTTPS abzusichern.

Certbot installieren

Installiere den Let’s-Encrypt-Client Certbot über Snap:

Konsole
$ sudo snap install --classic certbot

Certbot-Version prüfen

Überprüfe, ob Certbot korrekt installiert wurde:

Konsole
$ certbot --version

Beispielausgabe:

certbot 4.0.0

HTTP-Verbindungen für Domainprüfung zulassen

Erlaube eingehende HTTP-Verbindungen auf Port 80, damit Certbot die ACME-Domainüberprüfung durchführen kann:

Konsole
$ sudo ufw allow 80/tcp

SSL-Zertifikat erstellen

Fordere ein SSL-Zertifikat für deine Domain an. Ersetze app.example.com durch deine tatsächliche Domain, die in der Nginx-Konfiguration hinterlegt ist.

Konsole
$ sudo certbot --nginx -d app.example.com --agree-tos

Beispielausgabe:

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/app.example.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/app.example.com/privkey.pem
This certificate expires on 2025-07-22.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for app.example.com to /etc/nginx/sites-enabled/app.example.com.conf
Congratulations! You have successfully enabled HTTPS on https://app.example.com

Firewall-Regeln einrichten

Ubuntu 25.04 verfügt standardmäßig über die aktivierte Uncomplicated Firewall (UFW). Mit den folgenden Befehlen kannst du sie konfigurieren und den HTTPS-Zugriff auf deinen Nginx-Webserver freigeben.

HTTPS-Datenverkehr zulassen

Erlaube eingehende Verbindungen über Port 443, um sicheren HTTPS-Traffic zu ermöglichen:

Konsole
$ sudo ufw allow 443/tcp

Firewall-Status prüfen

Überprüfe, ob die aktualisierten Firewall-Regeln aktiv sind:

Konsole
$ sudo ufw status

Beispielausgabe:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

Fazit

Du hast Nginx erfolgreich auf Ubuntu 25.04 installiert und so konfiguriert, dass deine Webanwendungen sicher über HTTPS mit vertrauenswürdigen Let’s-Encrypt-Zertifikaten ausgeliefert werden. Nginx unterstützt mehrere virtuelle Hosts und lässt sich mit Diensten wie MySQL oder PHP kombinieren, um dynamische, sichere Webanwendungen bereitzustellen. Weitere Optimierungs- und Sicherheitseinstellungen findest du in der offiziellen Nginx-Dokumentation.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Ubuntu
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren