Nginx auf Ubuntu 20.04 installieren und konfigurieren

Nginx ist ein kostenloser und quelloffener Webserver, der sowohl statische als auch dynamische Anwendungen oder Dienste bereitstellen kann. Er wird häufig als Webserver, Load Balancer, Reverse Proxy oder HTTP-Cache eingesetzt und lässt sich nahtlos in bestehende Anwendungen integrieren oder stellt Inhalte direkt über die IP-Adresse oder Domain des Servers bereit.

Diese Anleitung beschreibt die Schritte zur Einrichtung von Nginx auf Ubuntu 20.04 sowie zur Konfiguration einer Beispiel-Webanwendung für optimale Leistung.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes vorhanden ist:

  • Ein Ubuntu 20.04 Server.
  • Ein neuer A-Record für Ihre Domain, der auf die IP-Adresse des Servers zeigt.
  • SSH-Zugriff als Nicht-Root-Benutzer mit Sudo-Rechten.
  • Ein aktualisierter Server mit den neuesten Paketen.

Nginx auf Ubuntu 20.04 installieren

Die aktuelle Version von Nginx ist in den Standard-APT-Repositories von Ubuntu 20.04 verfügbar. Führen Sie folgende Schritte aus, um Ihre Pakete zu aktualisieren und Nginx zu installieren.

Paketindex aktualisieren

Nginx installieren

$ sudo apt install nginx -y

Installierte Version überprüfen

Die Ausgabe sollte ähnlich aussehen wie:

nginx version: nginx/1.18.0 (Ubuntu)

Nginx-Dienst verwalten

Nginx läuft als systemd-Dienst, sodass Sie die Prozesse bequem steuern können. Verwenden Sie die folgenden Befehle zur Verwaltung.

Nginx beim Systemstart aktivieren

$ sudo systemctl enable nginx

Nginx starten

$ sudo systemctl start nginx

Nginx stoppen

$ sudo systemctl stop nginx

Nginx neu starten

$ sudo systemctl restart nginx

Nginx-Status prüfen

$ sudo systemctl status nginx

Wenn die Ausgabe Active: active (running) anzeigt, läuft Nginx korrekt. Sollte Active: active (failed) erscheinen, beenden Sie alle Prozesse, die Port 80 nutzen, und starten Sie Nginx neu.

Einen neuen Nginx Virtual Host erstellen

Eine Virtual-Host-Konfiguration ermöglicht es Nginx, Dateien aus einem bestimmten Verzeichnis unter einer definierten Domain bereitzustellen. Führen Sie die folgenden Schritte aus, um eine Beispielkonfiguration zu erstellen.

Neue Konfigurationsdatei erstellen

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

Konfiguration hinzufügen

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 für app.example.com und stellt Dateien aus /var/www/app.example.com bereit.

Konfiguration auf Fehler prüfen

Seite aktivieren

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

Webverzeichnis anlegen

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

HTML-Testseite erstellen

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

Fügen Sie den folgenden HTML-Code in die Datei ein:

Nginx neu starten

$ sudo systemctl restart nginx

Zugriff überprüfen

Nutzen Sie curl oder einen Browser, um Ihre Einrichtung zu testen:

$ curl http://app.example.com

Erwartete Ausgabe:

Nginx-Webserver absichern

SSL-Zertifikate ermöglichen eine verschlüsselte Kommunikation zwischen dem Browser des Nutzers und dem Nginx-Server über HTTPS. Standardmäßig lauscht Nginx auf dem unsicheren Port 80. Befolgen Sie die folgenden Schritte, um vertrauenswürdige Let’s Encrypt SSL-Zertifikate zu generieren und Nginx für verschlüsselte HTTPS-Verbindungen abzusichern.

Certbot installieren

Installieren Sie den Let’s Encrypt Certbot-Client mit Snap:

$ sudo snap install --classic certbot

Certbot-Version prüfen

Beispielausgabe:

certbot 3.3.0

HTTP-Verkehr für ACME-Überprüfung erlauben

Certbot benötigt Zugriff auf Port 80, um die Domain zu verifizieren.

SSL-Zertifikat erzeugen

Ersetzen Sie app.example.com durch Ihre tatsächliche Domain, die in der Nginx-Virtual-Host-Konfiguration hinterlegt ist.

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

Firewall-Regeln einrichten

Ubuntu 20.04 nutzt standardmäßig die Uncomplicated Firewall (UFW). Führen Sie die folgenden Schritte aus, um Regeln zu konfigurieren, die Nginx den Empfang von HTTP- und HTTPS-Verbindungen erlauben.

HTTPS-Verkehr zulassen

Firewall-Regeln überprüfen

Erwartete Ausgabe:

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

Sie haben nun erfolgreich Nginx auf Ubuntu 20.04 installiert und so konfiguriert, dass Webanwendungen ausgeliefert werden können. Mit Virtual Hosts lassen sich Anwendungen sicher bereitstellen, und durch die Integration mit weiteren Technologien wie MySQL und PHP ist es möglich, auch dynamische Webanwendungen zu betreiben.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Passbolt auf Linux installieren & sicher konfigurieren

Security, Tutorial
Passbolt auf Linux-Distributionen installieren und einrichten Passbolt ist ein Open-Source-Passwortmanager, der die sichere Speicherung und Verwaltung von Passwörtern sowie sensiblen Daten mit Ende-zu-Ende-Verschlüsselung ermöglicht. Er funktioniert hauptsächlich als Browser-Erweiterung für…