Tutorials  /  Ubuntu

Installiere und sichere Nginx auf Ubuntu 22.04 – Anleitung für HTTPS und Firewall

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

Nginx ist ein Open-Source-Webserver, der sowohl statische als auch dynamische Webinhalte bereitstellt. Er kann als Webserver, Reverse-Proxy, Load Balancer oder HTTP-Cache fungieren und lässt sich nahtlos in verschiedene Anwendungen integrieren, um Webinhalte effizient über die IP-Adresse oder Domain deines Servers auszuliefern.

Diese Anleitung erklärt, wie du Nginx unter Ubuntu 22.04 installierst und Beispiel-Webanwendungen für eine optimale Leistung einrichtest.

Voraussetzungen

  • Ein Ubuntu 22.04 Server.
  • Ein Domain-A-Eintrag, der auf die IP-Adresse deines Servers zeigt.
  • SSH-Zugriff als Nicht-Root-Benutzer mit Sudo-Rechten.
  • Ein aktualisierter Paketindex des Servers.
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 unter Ubuntu 22.04 installieren

Nginx ist in den Standard-APT-Repositories von Ubuntu 22.04 enthalten. Folge den nachstehenden Schritten, um den Webserver zu installieren und zu überprüfen.

Paketindex aktualisieren

Konsole
$ sudo apt update

Nginx installieren

Konsole
$ sudo apt install nginx -y

Installierte Nginx-Version überprüfen

Konsole
$ nginx -v

Beispielausgabe:

nginx version: nginx/1.18.0 (Ubuntu)

Nginx-Dienst verwalten

Nginx läuft als systemd-Dienst, der die Prozesse des Webservers steuert. Mit den folgenden Befehlen kannst du den Dienststatus prüfen und verwalten.

Nginx beim Systemstart aktivieren

Konsole
$ sudo systemctl enable nginx

Nginx starten

Konsole
$ sudo systemctl start nginx

Nginx stoppen

Konsole
$ sudo systemctl stop nginx

Nginx neu starten

Konsole
$ sudo systemctl restart nginx

Status des Nginx-Dienstes prüfen

Konsole
$ sudo systemctl status nginx

Beispielausgabe:

● nginx.service - Hochleistungs-Webserver und Reverse Proxy Server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since So 2025-04-06 07:47:16 UTC; 1min 49s ago
       Docs: man:nginx(8)
   Main PID: 3143 (nginx)
      Tasks: 5 (limit: 9385)
     Memory: 4.8M
     CGroup: /system.slice/nginx.service
             ├─3143 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ├─3144 "nginx: worker process"
             ├─3145 "nginx: worker process"
             ├─3146 "nginx: worker process"
             └─3147 "nginx: worker process"

Nginx Virtual Host erstellen

Virtuelle Hosts bestimmen, wie Nginx bestimmte Domains oder Webanwendungen ausliefert. Die folgenden Schritte zeigen, wie du eine einfache Konfiguration für eine Beispielseite einrichtest.

Virtual-Host-Datei erstellen

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

Virtual-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 lauscht auf Port 80 (HTTP) und liefert Dateien aus dem Webroot-Verzeichnis /var/www/app.example.com.

Konfiguration testen

Konsole
$ sudo nginx -t

Virtual Host 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

Beispiel-HTML-Datei erstellen

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

HTML-Inhalt hinzufügen

Code
<html>
<head></head>
<body>
<h1>Grüße von centron</h1>
</body>
</html>

Nginx neu starten

Konsole
$ sudo systemctl restart nginx

Zugriff auf deine Domain testen

Verwende curl, um zu überprüfen, ob deine Website erreichbar ist:

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

Nginx-Webserver absichern

SSL-Zertifikate sorgen für eine verschlüsselte Kommunikation zwischen dem Browser des Benutzers und dem Nginx-Webserver über HTTPS. Standardmäßig lauscht Nginx auf dem unverschlüsselten HTTP-Port 80. Folge diesen Schritten, um vertrauenswürdige Let's-Encrypt-SSL-Zertifikate zu erstellen und deinen Webserver sicher zu konfigurieren.

Certbot installieren

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

Konsole
$ sudo snap install --classic certbot

Certbot-Version überprüfen

Überprüfe, ob Certbot erfolgreich installiert wurde:

Konsole
$ certbot --version

Beispielausgabe:

certbot 3.3.0

HTTP-Verbindungen für die Zertifikatsprüfung erlauben

Certbot nutzt den HTTP-Port 80 für die ACME-Domainvalidierung. Erlaube vorübergehend eingehende Verbindungen:

Konsole
$ sudo ufw allow 80/tcp

SSL-Zertifikat erstellen

Erstelle ein neues SSL-Zertifikat für deine Domain. Ersetze app.example.com durch deine tatsächliche Domain:

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

Firewall-Regeln konfigurieren

Ubuntu 22.04 enthält standardmäßig die Uncomplicated Firewall (UFW). Konfiguriere sie so, dass Nginx eingehende HTTP- und HTTPS-Verbindungen verarbeiten kann.

HTTPS-Verkehr erlauben

Öffne den HTTPS-Port (443), um sicheren Webzugriff zu ermöglichen:

Konsole
$ sudo ufw allow 443/tcp

Firewall-Status prüfen

Überprüfe, ob die UFW-Regeln für Nginx 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

In dieser Anleitung hast du Nginx unter Ubuntu 22.04 installiert und konfiguriert, um sichere Webanwendungen bereitzustellen. Du hast außerdem HTTPS mit Let's-Encrypt-SSL-Zertifikaten aktiviert und UFW-Firewall-Regeln eingerichtet. Nginx unterstützt mehrere virtuelle Hosts für eine sichere Bereitstellung von Anwendungen und lässt sich leicht mit Diensten wie MySQL und PHP kombinieren, um dynamische Webanwendungen zu betreiben.

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