Zum Hauptinhalt springen

So richten Sie Nginx unter Linux ein: Eine detaillierte Anleitung für Anfänger

Nginx - Es ist ein beliebter Webserver und Reverseproxyserver, der auch als HTTP-Cache, Lastenausgleich und andere Aufgaben fungieren kann. Es zeichnet sich durch hohe Leistung, Zuverlässigkeit und Anpassungsflexibilität aus und ist die bevorzugte Wahl für viele Webentwickler und Systemadministratoren.

In diesem Artikel werden wir uns eine schrittweise Anleitung zur Installation und Konfiguration von Nginx auf einem Linux-Betriebssystem ansehen. Wir werden die Ubuntu-Distribution als Beispiel verwenden, aber die Anweisungen gelten auch für andere Linux-Distributionen.

Anmerkung: Stellen Sie sicher, dass Sie auf Ihrem Linux-System über Administratorrechte verfügen, bevor Sie mit der Installation von Nginx beginnen.

Der erste Schritt besteht darin, Nginx zu installieren. Öffnen Sie dazu ein Terminal und führen Sie den folgenden Befehl aus:

Installieren von Nginx unter Linux

Zuerst müssen Sie Nginx auf Ihrem Linux-System installieren. Befolgen Sie diese Schritte, um Nginx zu installieren:

  1. Öffnen Sie ein Terminal auf Ihrem Linux-System.
  2. Aktualisieren Sie die Pakete Ihres Systems mit dem Befehl sudo apt update . Geben Sie bei Bedarf Ihr Passwort ein.
  3. Installieren Sie Nginx mit dem Befehl sudo apt install nginx . Bestätigen Sie die Installation, falls erforderlich.

Nach Abschluss der Installation ist Nginx für die Verwendung auf Ihrem Linux-System bereit. Sie können überprüfen, ob Nginx erfolgreich installiert wurde, indem Sie einen Webbrowser öffnen und in die Adressleiste eingeben http://localhost . Wenn alles korrekt eingerichtet ist, sehen Sie die Nginx-Begrüßungsseite.

Wenn Sie eine andere Linux-Distribution wie CentOS oder Fedora verwenden, kann die Installation von Nginx geringfügig abweichen. Stellen Sie sicher, dass Sie die Anweisungen befolgen, die Ihrem System entsprechen.

Jetzt, da Sie Nginx unter Linux installiert haben, können Sie damit beginnen, es einzurichten und zu verwenden.

Nginx-Konfiguration: Grundlegende Servereinstellungen

Hier sind einige der grundlegenden Einstellungen des Nginx-Servers:

1. Port und Serveradresse: Standardmäßig lauscht Nginx auf Port 80 und Localhost-Adresse. Wenn Sie den Port oder die Adresse ändern möchten, können Sie die folgende Zeile in der Konfigurationsdatei bearbeiten:

2. Wurzelverzeichnis: Das Stammverzeichnis zeigt das Verzeichnis an, in dem die Dateien für die Website gespeichert sind. Sie können das Stammverzeichnis ändern, indem Sie die folgende Zeile bearbeiten:

3. Indexdatei: Eine Indexdatei ist eine Datei, die standardmäßig angezeigt wird, wenn Sie ohne Angabe eines Dateinamens auf ein Verzeichnis zugreifen. Sie können die Indexdatei ändern, indem Sie die folgende Zeile ändern:

4. Logging: Nginx zeichnet verschiedene Ereignisse in Protokolldateien auf. Die Protokolldateien umfassen den Zugriff auf die Website, Serverfehler und andere Informationen. Sie können den Pfad und das Format der Protokolldateien wie folgt konfigurieren:

5. Proxies: Nginx kann auch als Proxy verwendet werden. Wenn Sie die Proxies für Nginx konfigurieren möchten, können Sie die folgenden Zeilen hinzufügen:

Dies sind nur einige der grundlegenden Einstellungen des Nginx-Servers. Sie können bei Bedarf andere Einstellungen ändern, um den Server an Ihre Bedürfnisse anzupassen. Nachdem Sie Änderungen an der Konfigurationsdatei vorgenommen haben, müssen Sie den Nginx-Server neu starten, um die Einstellungen anzuwenden.

Erstellen virtueller Hosts in Nginx

Der erste Schritt besteht darin, eine Konfigurationsdatei für den virtuellen Host zu erstellen. Normalerweise befinden sich solche Dateien im Verzeichnis /etc/nginx/conf.d/. Erstellen Sie eine neue Datei mit der Erweiterung .conf, zum Beispiel mywebsite.conf.

Öffnen Sie die erstellte Datei in einem Texteditor, und fügen Sie die folgende Konfiguration hinzu:

server listen 80;server_name mywebsite.com www.mywebsite.com;location / root /var/www/mywebsite;index index.html index.htm;>>

In diesem Beispiel erstellen wir einen virtuellen Host für die Domäne mywebsite.com und seine Subdomains www.mywebsite.com Die Konfiguration weist Nginx an, auf Port 80 zu hören und Anforderungen für die angegebenen Domänen zu verarbeiten.

Der Schlüsselparameter server_name gibt die Liste der Domänen an, die von diesem virtuellen Host verarbeitet werden sollen.

Im Bereich location geben wir das Stammverzeichnis an, in dem sich die Dateien der Website befinden, und geben eine Liste der Hauptdateien der Webseite an. In diesem Fall müssen sich die Dateien der Website im Verzeichnis /var/www/mywebsite befinden, und die Anzeigedatei ist index.html oder index.htm.

Nachdem Sie die Konfigurationsdatei gespeichert haben, müssen Sie Nginx neu starten, damit die Änderungen wirksam werden. Führen Sie den Befehl aus:

sudo systemctl restart nginx

Der virtuelle Host ist jetzt konfiguriert und einsatzbereit. Stellen Sie sicher, dass Ihre Domain auf die IP-Adresse Ihres Servers verweist, damit Anfragen für diese Domain auf Ihren Server gelangen.

Sie können mehrere virtuelle Hosts erstellen, indem Sie einfach den Prozess der Erstellung der Konfigurationsdatei wiederholen und ein anderes Stammverzeichnis und eine Liste von Domänen angeben.

Sie haben also gelernt, virtuelle Hosts in Nginx zu erstellen. Es ist ein leistungsfähiges Tool, mit dem Sie mehrere Websites auf einem Server verwalten und unabhängig voneinander verarbeiten können.

Konfigurieren von SSL-Zertifikaten für eine sichere Verbindung

Zum Konfigurieren von SSL-Zertifikaten benötigen Sie:

  1. Generieren Sie ein selbstsigniertes SSL-Zertifikat oder erwerben Sie ein SSL-Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA).
  2. Installieren Sie das Zertifikat auf dem Server.
  3. Konfigurieren Sie Nginx für die Verwendung eines SSL-Zertifikats.

1. Generieren eines selbstsignierten SSL-Zertifikats

Ein selbstsigniertes SSL-Zertifikat kann zum Testen oder zur internen Verwendung verwendet werden. Führen Sie den folgenden Befehl aus, um ein solches Zertifikat zu generieren:

  • openssl req -x509 -newkey rsa:2048 -nodes -sha256 -keyout server.key -out server.crt -subj "/CN=yourdomain.com"

Dieser Befehl generiert einen privaten Schlüssel (server.key) und ein selbstsigniertes Zertifikat (server.crt).

2. Zertifikat installieren

Zertifikate können je nach Betriebssystem und Nginx-Konfiguration in verschiedenen Verzeichnissen installiert werden. Diese befinden sich normalerweise im Verzeichnis /etc/nginx/ssl/ .

Kopieren Sie das konfigurierte SSL-Zertifikat (server.crt) und privater Schlüssel (server.key) in das Verzeichnis mit den Zertifikaten:

  • sudo cp server.crt /etc/nginx/ssl/
  • sudo cp server.key /etc/nginx/ssl/

3. Nginx einrichten

Bearbeiten Sie die Nginx-Konfigurationsdatei (/etc/nginx/nginx).conf oder /etc/nginx/conf.d/default.conf) und fügen Sie den folgenden SSL-Konfigurationsblock hinzu:

server >

Hier yourdomain.com - dies ist der Domain-Name Ihres Servers. Stellen Sie sicher, dass der Servername mit dem Wert übereinstimmt, der im selbstsignierten Zertifikat oder im Zertifikat des Zertifizierungsstellers angegeben ist.

Sie können auch die verwendeten Protokolle und Chiffren ändern und nach Belieben weitere SSL-Einstellungen hinzufügen.

Nachdem Sie die Änderungen vorgenommen haben, starten Sie Nginx neu, um die Einstellungen anzuwenden:

  • sudo systemctl restart nginx

Jetzt ist Ihr Nginx-Server so konfiguriert, dass er ein SSL-Zertifikat verwendet, um eine sichere Verbindung zu den Clients sicherzustellen.

Konfigurieren von Umleitungen (Redirect) in Nginx

Hier sind einige Beispiele für das Konfigurieren von Umleitungen in Nginx:

    Weiterleitung zu einer anderen Domäne:

server 
server >
server >>

Sie können Umleitungen in Nginx mit einer Direktive konfigurieren rewrite und verschiedenen Bedingungen, um Ihre Anforderungen zu erfüllen.

Zugriffskontrolle für Nginx: Konfigurieren von Authentifizierung und Autorisierung

Um die Sicherheit und den Schutz von Webanwendungen zu gewährleisten, die auf Nginx ausgeführt werden, ist es wichtig, die Authentifizierung und Autorisierung einzurichten. Mit der Authentifizierung können Sie einen Benutzer identifizieren, den Zugriff kontrollieren und unbefugten Zugriff verhindern. Die Autorisierung bestimmt die Zugriffsrechte des Benutzers und legt fest, welche Ressourcen er verwenden kann.

Es gibt verschiedene Authentifizierungs- und Autorisierungsmethoden in Nginx. Die beiden am häufigsten verwendeten Methoden werden hier vorgestellt: die grundlegende Authentifizierung und die Verwendung der Direktive try_files.

Grundlegende Authentifizierung

Die Grundauthentifizierung bietet eine einfache Möglichkeit, den Zugriff auf die Website mit einem Login und einem Passwort zu schützen. Führen Sie die folgenden Schritte aus, um die grundlegende Authentifizierung in Nginx einzurichten:

    Erstellen Sie eine Datei, die die Benutzernamen und verschlüsselten Passwörter der Benutzer enthält:

/etc/nginx/.htpasswd
location / 
sudo service nginx restart

Wenn Sie nun versuchen, auf die Website zuzugreifen, erhält der Benutzer ein Anmelde- und Passwortanforderungsfenster.

Verwenden der Direktive try_files

Mit der Direktive try_files können Sie die Zugriffsrechte für verschiedene Ressourcen abhängig von den Bedingungen konfigurieren. Um diese Direktive in Nginx zu verwenden, müssen Sie die folgenden Schritte ausführen:

    Fügen Sie dem location-Block die try_files-Direktive hinzu:

location /private 
location /private 
sudo service nginx restart

Wenn Sie nun versuchen, auf die Ressource /private zuzugreifen, erhält der Benutzer ein Anmelde- und Passwortabfragefenster.

Es ist wichtig sich daran zu erinnern, dass die Einstellungen für Authentifizierung und Autorisierung je nach Ihren Anforderungen und spezifischen Nginx-Einstellungen variieren können.

Organisieren des Lastenausgleichs mit Nginx

Um den Lastenausgleich mit Nginx zu konfigurieren, müssen Sie eine Gruppe von Servern definieren, auf die die Last verteilt werden soll, und dann die entsprechenden Konfigurationsblöcke in der nginx-Datei konfigurieren.conf. Im Konfigurationsblock müssen Sie die Serveradressen und -ports angeben und die zu verwendende Lastenausgleichsmethode auswählen.

Beispiel für die Konfiguration des Lastenausgleichs mit der round-Robin-Methode:

http server >>

Beispiel für die Konfiguration des Lastenausgleichs mit der least-connected-Methode:

http server >>

Beispiel für die Konfiguration des Lastenausgleichs mithilfe der ip_hash-Methode:

http server >>

Dies sind nur einige der Funktionen von Nginx zum Lastenausgleich. Sie können auch andere Parameter wie das Gewicht des Servers oder die Timeout-Einstellungen anpassen. Dank der Flexibilität und der einfachen Einrichtung ist Nginx eine ausgezeichnete Wahl für die Organisation des Lastenausgleichs in Ihren Projekten.