Nginx Webserver auf Debian11

In diesem Tutorial zeige ich dir, wie du den Nginx Webserver unter Debian 11 installierst. Nginx ist ein beliebter Webserver, der als Reverse Proxy und Load Balancer für deine Server verwendet werden kann. Er kann auch als eigenständiger Server oder in Verbindung mit einem anderen Anwendungsserver eingesetzt werden. Um seine Funktionen nutzen zu können, müssen wir ihn zunächst installieren.

Welche Voraussetzungen benötigen wir?

  • Einen Root-Server mit vollen Root-Rechten und bereits vorinstalliertem Debian11 minimal
  • Auf deinem Server sollte ein normaler, nicht-root Benutzer mit sudo-Rechten eingerichtet sein. Dies ist notwendig, damit der Installationsprozess richtig funktioniert.
  • Eine registrierte und bereits von deinem Hosting – Provider freigeschaltete Internetadresse in Form von >>beispieldomain.de<< welche auf deinen mit Debian10 vorbereiteten Server zeigt.

Das System aktualisieren

Bevor du nginx installierst, musst du dein System aktualisieren, damit es auf dem neuesten Stand ist. Außerdem solltest du zusätzliche Pakete installieren, die für die Kompilierung von Modulen der Drittanbietern benötigt werden. Führe die folgenden Befehle aus, um das System zu aktualisieren und die benötigten Pakete zu installieren:

# sudo apt update -y
# sudo apt upgrade -y
# sudo apt install curl gnupg2 ca-certificates lsb-release

Installation von Nginx unter Debian 11

Nginx ist in den Standard-Repositories von Debian 11 verfügbar. Du kannst es mit dem Befehl apt-get wie folgt installieren:

# sudo apt install nginx -y

Lasse nun das Installationsprogramm durchlaufen. Zum Ende sollte der Ngnix gestartet sein und funktionieren.

Du kannst Nginx starten, stoppen und neu starten, indem du tippst:

Ngnix starten:

# sudo systemctl start nginx

Ngnix anhalten:

# sudo systemctl stop nginx

Ngnix neustarten:

# sudo systemctl restart nginx

Du kannst die installierte Version von Nginx überprüfen, indem du eingibst:

# sudo nginx -v

Die Ausgabe etwa so aussehen:

root@server01:~# sudo nginx -v
ngnix version: nginx/1.18.0
root@server01:~#

Um die Nginx-Konfiguration auf Fehler zu überprüfen und sie ggf. zu korrigieren, führe den folgenden Befehl aus:

# sudo nginx -t

Die Ausgabe dafür sollte wie folgt aussehen:

root@server01:~# sudo ngnix -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf syntax successful
root@server01:~#

Um den Nginx-Webserver so zu konfigurieren, dass er beim Booten startet, führe ihn aus:

# sudo systemctl enable nginx

Die folgende Ausgabe sollte dann in etwa so aussehen:

root@server01:~# sudo systemctl enable nginx
Synchronizing state of nginx.service with SysV service script with /etc/systemd-sysv-install
Executing: /lib/systemd/systemd-install enable nginx
root@server01:~#

Anpassen der UFW Firewall-Regeln

Nginx muss über die Firewall-Software aktiviert werden, bevor auf ihn zugegriffen werden kann. Eine Liste der bereits eingerichteten Anwendungskonfigurationen kannst du dir wie folgt anzeigen lassen:

# sudo ufw app list

Du erhältst die folgende Ausgabe:

NFS
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
POP3
POP35
PeopleNearby
SMTP
SSH
Sockets
Telnet
Transmission
Transparent Proxy
VNC
WWW Charge
WWW Full
WWW Secure
XMPP
Yahoo
qBittorrent
svnserve
root@server01:~#

Du kannst sehen, dass es drei Profile gibt, mit denen Nginx konfiguriert werden kann:

  • Nginx Full: Dieses Profil öffnet sowohl Port 80 als auch 443 für Nginx
  • Nginx HTTP: Dieses Profil öffnet nur Port 80 für Nginx
  • Nginx HTTPS: Dieses Profil öffnet nur Port 443 für Nginx

Es wird empfohlen, das am stärksten eingeschränkte Profil zu aktivieren, damit der konfigurierte Datenverkehr trotzdem durch die Firewall geleitet werden kann. In diesem Leitfaden lassen wir nur HTTP-Verkehr auf Port 80 zu. Gib dazu Folgendes ein:

# sudo ufw allow 'Nginx HTTP'

Führe den folgenden Befehl aus, um zu überprüfen, ob HTTP durch die Firewall zugelassen ist:

# sudo ufw status

Wie du in der unten stehenden Ausgabe sehen kannst, ist HTTP-Verkehr erlaubt:

root@server01:~# sudo ufw allow 'Nginx HTTP'
Rule added
Rule added v6
root@server01:~# sudo ufw status
Status active

To                    Action        From
--                    ------        ----
22                    Allow         Anywhere
Nginy HTTP            Allow         Anywhere
Nginx HTTP (v6)       Allow         Anywhere (v6)

root@server01:~#

Zugriff auf den Nginx-Webserver

Du kannst die Standard-Nginx-Landeseite aufrufen, indem du die öffentliche IP-Adresse oder den FQDN deines Servers in deinen Browser eingibst. Wenn du die öffentliche IP-Adresse deines Servers nicht kennst, kannst du sie herausfinden, indem du eintippst:

# hostname -I

Du solltest eine Standard-Landingpage für Nginx sehen, auf der steht: „Willkommen bei nginx!“

Herzlichen Glückwunsch! Du hast Nginx erfolgreich auf Debian 11 installiert.