Zum Hauptinhalt springen

Wie man Nginx auf Debian einrichtet: Schritt für Schritt Anleitung

Debian - eine der beliebtesten Linux-Distributionen, die weithin als Betriebssystem für Server verwendet wird. Es ist bekannt für seine Zuverlässigkeit und Stabilität sowie für seine einfache Installation und Konfiguration.

Nginx - es ist ein leistungsfähiger Webserver, mit dem Sie eine große Anzahl von Anforderungen effizient bearbeiten und die Last auf den Server verteilen können. Es hat auch eine hohe Leistung und Kompatibilität mit verschiedenen Programmiersprachen und Frameworks.

In dieser Schritt-für-Schritt-Anleitung werden wir uns mit der Installation und Konfiguration von Nginx auf Debian befassen. Wir zeigen Ihnen, wie Sie Nginx über offizielle Debian-Repositories installieren, grundlegende Servereinstellungen konfigurieren und virtuelle Hosts für verschiedene Websites hinzufügen.

Anmerkung: stellen Sie sicher, dass Sie Zugriff auf den Server haben, auf dem das Debian-Betriebssystem und Administratorrechte installiert sind, bevor Sie mit der Konfiguration beginnen.

Vorbereitung für die Installation

Bevor Sie Nginx auf Debian installieren, müssen Sie einige vorbereitende Schritte ausführen:

    Aktualisieren des Betriebssystems. Führen Sie dazu den Befehl aus:

sudo apt update && sudo apt upgrade
sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
echo "deb-src [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list
sudo apt update

Installieren von Nginx auf Debian

Führen Sie die folgenden Schritte aus, um Nginx auf einem Debian-Betriebssystem zu installieren:

1. Öffnen Sie ein Terminal und geben Sie den Befehl ein:

sudo apt update

2. Geben Sie nach dem Aktualisieren der Paketliste den Befehl ein, um Nginx zu installieren:

sudo apt install nginx

3. Wenn Sie zur Bestätigung aufgefordert werden, drücken Sie "Y", um die Einstellung zu bestätigen.

4. Nach Abschluss der Installation können Sie den Status von Nginx überprüfen, indem Sie den Befehl eingeben:

sudo systemctl status nginx

5. Wenn Nginx erfolgreich installiert und ausgeführt wurde, wird eine Statusmeldung angezeigt.

Glückwunsch! Sie haben Nginx erfolgreich auf Debian installiert und sind bereit, es zu konfigurieren und zu verwenden.

Nginx-Konfiguration

Die Konfiguration des Nginx-Servers unter Debian erfolgt durch Ändern der Konfigurationsdateien im Verzeichnis /etc/nginx. Hauptkonfigurationsdatei - nginx.conf.

Es wird empfohlen, eine Sicherungskopie der Originaldatei zu erstellen, bevor Sie mit dem Ändern der Konfigurationsdatei beginnen. Führen Sie dazu den Befehl aus:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Nachdem Sie eine Sicherung erstellt haben, können Sie mit der Bearbeitung der Datei beginnen. Datei nginx.conf enthält die grundlegenden Einstellungen des Nginx-Servers und gibt an, welche Konfigurationsdateien heruntergeladen werden sollen.

Es wird empfohlen, eine separate Datei im Verzeichnis zu erstellen, um zusätzliche Konfigurationen hinzuzufügen /etc/nginx/conf.d. Sie können beispielsweise eine Datei erstellen example.conf mit dem Befehl:

sudo nano /etc/nginx/conf.d/example.conf

In der Datei example.conf sie können die folgenden Einstellungen für Ihre Website festlegen:

server: definiert den Nginx-Server und gibt an, auf welchen Port und welche Domäne oder IP-Adresse er lauschen soll;

location: bestimmt, welche URLs von diesem Nginx-Server bedient werden und welche Verarbeitung durchgeführt wird.

Nachdem Sie Änderungen an den Konfigurationsdateien vorgenommen haben, müssen Sie den Nginx-Server neu starten, damit die Änderungen wirksam werden. Führen Sie dazu den Befehl aus:

sudo service nginx restart

Ihr Nginx-Server ist jetzt bereit, mit den neuen Einstellungen zu arbeiten.

Virtuelle Hosts hinzufügen

Folgen Sie den folgenden Schritten, um Nginx unter Debian virtuelle Hosts hinzuzufügen:

  1. Öffnen Sie die Nginx-Konfigurationsdatei: sudo nano /etc/nginx/nginx.conf
  2. Suchen Sie den HTTP-Block < . >und fügen Sie den folgenden Code darin hinzu: server < listen 80; server_name example.com www.example.com ; root /var/www/example.com; location / < index index.html; >> Wo:
    • listen 80; - zeigt den Port an, an dem der Server hören soll (dies ist normalerweise Port 80 für HTTP oder Port 443 für HTTPS);
    • server_name example.com www.example.com ; - Liste der Domainnamen, die mit diesem virtuellen Host verknüpft werden;
    • root /var /www/example.com; - Pfad zum Stammverzeichnis der Website;
    • location / < . >- einstellungen für die Bearbeitung von Anfragen in diesem Verzeichnis;
    • index index.html; - Gibt den Dateinamen an, der standardmäßig angezeigt wird, wenn kein bestimmter Dateiname in der URL angegeben ist.
  3. Speichern Sie die Änderungen, und schließen Sie die Konfigurationsdatei.
  4. Überprüfen Sie in der Konfigurationsdatei auf Syntaxfehler: sudo nginx -t
  5. Starten Sie den Nginx-Dienst neu, um die Änderungen zu übernehmen: sudo systemctl restart nginx

Jetzt können Sie virtuelle Hosts in Nginx unter Debian erstellen und konfigurieren, indem Sie neue Server-Blöcke hinzufügen < . >in der Konfigurationsdatei. Jeder virtuelle Host muss einen eindeutigen Domänennamen und einen Pfad zum Stammverzeichnis der Site enthalten.

Konfigurieren von SSL-Zertifikaten

SSL-Zertifikate ermöglichen eine sichere Verbindung zwischen Client und Server, sodass die übertragenen Informationen verschlüsselt werden und nicht von Angreifern abgefangen werden können.

Zuerst müssen Sie ein SSL-Zertifikat erwerben. Sie können es von einer vertrauenswürdigen Zertifizierungsstelle erhalten, die Ihre Identität überprüft und Ihr Recht zur Verwendung Ihres Domainnamens bestätigt.

Nachdem Sie das SSL-Zertifikat erhalten haben, müssen Sie es auf dem Server installieren. Führen Sie dazu die folgenden Schritte aus:

    Erstellen Sie ein Verzeichnis zum Speichern des Zertifikats:

sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
sudo cp /path/to/your/certificate.crt /etc/nginx/ssl/sudo cp /path/to/your/private.key /etc/nginx/ssl/
server 
sudo service nginx restart

Nachdem Sie diese Schritte ausgeführt haben, verwendet Ihr Server SSL-Zertifikate, um eine sichere Verbindung zu den Clients herzustellen.

Konfigurieren des Zugriffs auf Nginx über eine Firewall

Wenn Sie Nginx auf Ihrem Server einrichten, ist es wichtig sicherzustellen, dass der Zugriff auf den Webserver nur auf die IP-Adressen beschränkt ist, die Sie benötigen. Dazu können Sie die Firewall verwenden, um die Zugriffsregeln für Nginx festzulegen.

Unter Debian haben Sie möglicherweise bereits eine IPtables-Firewall installiert. Wenn es nicht installiert ist, können Sie es mit folgendem Befehl installieren:

sudo apt-get install iptables

Nach der Installation können Sie mit der Konfiguration des Zugriffs auf Nginx über die Firewall beginnen. Hier sind einige Beispiele für Regeln, die nützlich sein können:

    Zugriff nur von einer bestimmten IP-Adresse zulassen:

sudo iptables -A INPUT -p tcp --dport 80 -s your_ip_address -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -s your_ip_address -j DROP
sudo iptables -A INPUT -p tcp --dport 80 -s allowed_ip_address -j ACCEPTsudo iptables -A INPUT -p tcp --dport 80 -j DROP

Beachten Sie, dass diese Regeln nur für Port 80 gelten, den der Nginx-Webserver verwendet. Wenn Sie einen anderen Port verwenden, ersetzen Sie --dport 80 durch den gewünschten Port.

Nachdem Sie die Regeln konfiguriert haben, speichern Sie sie, damit sie nach dem Neustart angewendet werden:

sudo iptables-save > /etc/iptables/rules.v4

Jetzt haben Sie den Zugriff auf Nginx über eine Firewall eingerichtet und können sich der Sicherheit Ihres Servers sicher sein.