So konfigurieren Sie Nginx-Serverblöcke unter Ubuntu 24.04 LTS

In diesem Tutorial zeigen wir Ihnen, wie Sie Nginx-Serverblöcke auf Ubuntu 24.04 LTS konfigurieren. Nginx, ein leistungsstarker und flexibler Webserver, hat aufgrund seiner hohen Leistung, Skalierbarkeit und einfachen Konfiguration immense Popularität erlangt. Eines der Hauptmerkmale von Nginx ist die Möglichkeit, mithilfe von Serverblöcken mehrere Websites auf einem einzigen Server zu hosten. Serverblöcke, auch als virtuelle Hosts bekannt, ermöglichen es Ihnen, separate Konfigurationen für jede Website zu definieren, sodass Sie mehrere Domänen oder Subdomänen auf demselben Server hosten können. Ich

Dieser Artikel setzt voraus, dass Sie über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell benutzt, und, was am wichtigsten ist, dass Sie Ihre Site auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt voraus, dass Sie das Root-Konto verwenden. Wenn nicht, müssen Sie möglicherweise ‚sudo‚ zu den Befehlen hinzu, um Root-Rechte zu erhalten. Ich zeige Ihnen Schritt für Schritt, wie Sie Nginx-Serverblöcke unter Ubuntu 24.04 (Noble Numbat) einrichten. Sie können die gleichen Anweisungen auch für Ubuntu 22.04 und jede andere Debian-basierte Distribution wie Linux Mint, Elementary OS, Pop!_OS und mehr befolgen.

Voraussetzungen

  • Ein Server, auf dem eines der folgenden Betriebssysteme läuft: Ubuntu und jede andere Debian-basierte Distribution wie Linux Mint.
  • Um potenzielle Probleme zu vermeiden, wird eine Neuinstallation des Betriebssystems empfohlen.
  • SSH-Zugriff auf den Server (oder öffnen Sie einfach Terminal, wenn Sie an einem Desktop sitzen).
  • Eine aktive Internetverbindung. Sie benötigen eine Internetverbindung, um die erforderlichen Pakete und Abhängigkeiten herunterzuladen.
  • Ein Ubuntu 24.04-System mit Root-Zugriff oder ein Benutzer mit Sudo-Berechtigungen.

Konfigurieren Sie Nginx-Serverblöcke auf Ubuntu 24.04 LTS Noble Numbat

Schritt 1. Aktualisieren des Paket-Repositorys.

Zunächst ist es wichtig, Ihr Ubuntu-System auf die neueste Version zu aktualisieren. Dadurch wird sichergestellt, dass Sie Zugriff auf die aktuellsten Pakete, Fehlerbehebungen und Sicherheitsupdates haben. Öffnen Sie ein Terminalfenster und führen Sie die folgenden Befehle aus:

sudo apt update
sudo apt upgrade

Der sudo apt update Der Befehl aktualisiert die Paketliste und ruft Informationen zu den neuesten Versionen der Pakete und ihren Abhängigkeiten ab. Dieser Schritt hilft dem Paketmanager festzustellen, welche Pakete aktualisiert werden müssen.

Schritt 2. Nginx installieren.

Wenn Sie Nginx noch nicht installiert haben, können Sie dies durch Ausführen der folgenden Befehle tun:

sudo apt update
sudo apt install nginx

Überprüfen Sie nach Abschluss der Installation, ob Nginx ausgeführt wird, indem Sie den Status prüfen:

sudo systemctl status nginx

Sie sollten eine Ausgabe ähnlich dieser sehen:

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-05-17 12:34:56 UTC; 182 days ago
       Docs: man:nginx(8)
   Main PID: 2341 (nginx)
      Tasks: 2 (limit: 1137)
     Memory: 3.5M
        CPU: 36ms
     CGroup: /system.slice/nginx.service
             ├─2341 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─2342 nginx: worker process

Schritt 3. Verzeichnisstruktur erstellen.

Nginx-Serverblöcke werden normalerweise im /etc/nginx/sites-available Verzeichnis. Um Ihre Konfiguration organisiert zu halten, erstellen Sie für jede Website, die Sie hosten möchten, ein Verzeichnis.

Nehmen wir beispielsweise an, wir möchten zwei Websites hosten: idroot.us und idroot.net. Wir erstellen für jede Site Verzeichnisse wie folgt:

sudo mkdir -p /var/www/idroot.us/html
sudo mkdir -p /var/www/idroot.net/html

Ersetzen idroot.net Und idroot.us durch Ihre tatsächlichen Domänennamen. Die Dateien Ihrer Website werden unter dem Suffix /html abgelegt.

Legen Sie die entsprechenden Berechtigungen für die Verzeichnisse fest:

sudo chown -R www-data:www-data /var/www/idroot.us
sudo chown -R www-data:www-data /var/www/idroot.net
sudo chmod -R 755 /var/www

Diese Befehle weisen den www-data Weisen Sie den Benutzer- und Gruppenbesitz den Website-Verzeichnissen zu und legen Sie die Berechtigungen so fest, dass Nginx Dateien lesen und ausführen kann.

Schritt 4. Erstellen Sie Serverblock-Konfigurationsdateien.

Nachdem die Verzeichnisstruktur eingerichtet ist, ist es an der Zeit, die Serverblock-Konfigurationsdateien für jede Website zu erstellen. Serverblock-Konfigurationsdateien werden im /etc/nginx/sites-available Verzeichnis.

Erstellen wir eine Konfigurationsdatei für idroot.us:

sudo nano /etc/nginx/sites-available/idroot.us

Fügen Sie die folgende Konfiguration hinzu:

server {
    listen 80;
    server_name idroot.us www.idroot.us;
    root /var/www/idroot.us/html;
    index index.html index.htm;

    access_log /var/log/nginx/idroot.us.access.log;
    error_log /var/log/nginx/idroot.us.error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}

Ersetzen idroot.us durch Ihren tatsächlichen Domänennamen und aktualisieren Sie die Root-Direktive so, dass sie mit dem Verzeichnis übereinstimmt, das Sie im vorherigen Schritt erstellt haben.

Die Konfiguration umfasst die folgenden Anweisungen:

  • listen: Gibt den Port an, auf dem Nginx auf eingehende HTTP-Anfragen wartet (80 für Nicht-SSL, 443 für SSL).
  • root: Legt das Dokumentstammverzeichnis für die Website fest.
  • index: Gibt die Standardindexdateien an, die bereitgestellt werden sollen, wenn ein Verzeichnis angefordert wird.
  • server_name: Definiert die mit dem Serverblock verknüpften Domänennamen.
  • location: Konfiguriert, wie Nginx Anfragen für bestimmte URIs behandeln soll.

Wiederholen Sie diesen Vorgang für jede Website, die Sie hosten möchten, und ersetzen Sie die Domänennamen und Dokumentstammverzeichnisse entsprechend.

Um einen Serverblock zu aktivieren, erstellen Sie einen symbolischen Link von der Konfigurationsdatei in /etc/nginx/sites-available zum /etc/nginx/sites-enabled Verzeichnis:

sudo ln -s /etc/nginx/sites-available/idroot.us /etc/nginx/sites-enabled/

Die symbolischen Links in der sites-enabled Das Verzeichnis teilt Nginx mit, welche Serverblöcke aktiv sein und Besuchern bereitgestellt werden sollen. Durch die Erstellung dieser Links stellen wir sicher, dass Nginx die Konfigurationsdateien beim Start oder beim Neuladen des Dienstes lädt.

Vor dem Neustart von Nginx ist es unbedingt erforderlich, die Konfiguration auf Syntaxfehler zu testen:

sudo nginx -t

Wenn die Konfiguration gültig ist, wird eine Ausgabe ähnlich dieser angezeigt:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Sobald der Konfigurationstest erfolgreich war, ist es an der Zeit, Nginx neu zu starten, um die Änderungen anzuwenden. Um den Nginx-Dienst neu zu starten, führen Sie den folgenden Befehl aus:

sudo systemctl restart nginx

Um zu überprüfen, ob die Serverblöcke richtig funktionieren, öffnen Sie einen Webbrowser und navigieren Sie zu Ihren Domänen. Sie sollten die standardmäßige Nginx-Willkommensseite oder den Inhalt sehen, den Sie im Stammverzeichnis für Dokumente abgelegt haben.

Wenn Probleme auftreten, prüfen Sie das Nginx-Fehlerprotokoll auf weitere Informationen:

sudo tail -n 20 /var/log/nginx/error.log

Schritt 5. Firewall konfigurieren.

Wenn auf Ihrem Server eine Firewall aktiviert ist, stellen Sie sicher, dass sie eingehenden HTTP- und HTTPS-Verkehr zulässt. Wenn Sie ufw (Uncomplicated Firewall) verwenden, können Sie die erforderlichen Ports mit den folgenden Befehlen aktivieren:

sudo ufw allow 'Nginx Full'
sudo ufw reload

Dieser Befehl lässt sowohl HTTP- (Port 80) als auch HTTPS-Datenverkehr (Port 443) durch die Firewall zu.

Überprüfen Sie die Firewall-Regeln, indem Sie Folgendes ausführen:

sudo ufw status

In der Ausgabe sollten Sie die zulässigen Ports und Dienste sehen.

Schritt 6. Sichern Sie Nginx mit SSL/TLS.

Um die Sicherheit Ihrer Websites zu erhöhen, empfiehlt es sich, die SSL/TLS-Verschlüsselung zu aktivieren. Sie können über Certbot ein kostenloses SSL-Zertifikat von Let’s Encrypt erhalten:

sudo apt install certbot python3-certbot-nginx

Führen Sie als Nächstes Certbot aus, um das SSL-Zertifikat für Ihre Website abzurufen und zu installieren:

sudo certbot --nginx -d idroot.us -d www.idroot.us

Ersetzen idroot.us durch Ihren tatsächlichen Domänennamen. Certbot ruft das Zertifikat automatisch ab, konfiguriert Nginx für die Verwendung und richtet die automatische Verlängerung ein.

Schritt 7. Überprüfen Sie die Serverblock-Einrichtung.

Nachdem die Serverblöcke konfiguriert und Nginx neu gestartet wurde, ist es an der Zeit zu überprüfen, ob Ihre Websites zugänglich sind und ordnungsgemäß funktionieren. Öffnen Sie einen Webbrowser und geben Sie den Domänennamen einer Ihrer Websites ein, z. B. https://idroot.us. In der Adressleiste des Browsers sollte ein sicheres Vorhängeschloss-Symbol angezeigt werden, das anzeigt, dass die Verbindung verschlüsselt ist. Wenn die Serversperre richtig eingerichtet ist, sollte der Inhalt der Website angezeigt werden.

Wenn Sie auf Probleme stoßen, beispielsweise auf die Fehlermeldung „404 Nicht gefunden“ oder eine Standard-Nginx-Seite, überprüfen Sie Folgendes:

  • Stellen Sie sicher, dass der Domänenname korrekt auf die IP-Adresse Ihres Servers verweist.
  • Überprüfen Sie, ob die Serverblock-Konfigurationsdateien richtig konfiguriert und aktiviert sind.
  • Überprüfen Sie die Nginx-Fehlerprotokolle (/var/log/nginx/error.log) für spezifische Fehlermeldungen.

Herzlichen Glückwunsch! Sie haben Nginx vHost erfolgreich eingerichtet. Vielen Dank, dass Sie dieses Tutorial zum Konfigurieren von Nginx-Serverblöcken auf dem Ubuntu 24.04 LTS-System verwendet haben. Für weitere Hilfe oder nützliche Informationen empfehlen wir Ihnen, die Nginx-Website.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert