GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie Nginx-Serverblöcke unter Ubuntu 20.04 ein

Ein Serverblock ist eine Nginx-Anweisung, die Einstellungen für eine bestimmte Domain definiert, sodass Sie mehr als eine Website auf einem einzigen Server ausführen können. Für jede Website können Sie das Site Document Root (das Verzeichnis, das die Website-Dateien enthält), eine separate Sicherheitsrichtlinie erstellen, verschiedene SSL-Zertifikate verwenden und vieles mehr.

Dieser Artikel beschreibt, wie Sie Nginx-Serverblöcke unter Ubuntu 20.04 einrichten.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllt haben, bevor Sie fortfahren:

  • Domänenname, der auf Ihre öffentliche Server-IP verweist.
  • Nginx auf Ihrem Ubuntusystem installiert.
  • Sie sind als Root oder Benutzer mit sudo-Berechtigungen angemeldet.

In einigen Artikeln wird der Begriff „Server Blocks“ als „Virtual Host“ bezeichnet. Ein virtueller Host ist ein Apache-Begriff.

Erstellen der Verzeichnisstruktur #

Das Dokumentenstammverzeichnis ist das Verzeichnis, in dem die Website-Dateien für einen Domänennamen gespeichert und als Antwort auf Anfragen bereitgestellt werden. Sie können den Dokumentenstamm an einem beliebigen Ort festlegen. In diesem Beispiel verwenden wir die folgende Verzeichnisstruktur:

/var/www/
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html

Bei jeder auf dem Server gehosteten Domain wird das Dokumentenstammverzeichnis auf /var/www/<domain_name>/public_html gesetzt .

Erstellen Sie zunächst das Stammverzeichnis für die Domäne:

sudo mkdir -p /var/www/domain1.com/public_html

Außerdem erstellen wir eine index.html Datei im Root-Verzeichnis der Domain-Dokumente, die angezeigt wird, wenn Sie die Domain in Ihrem Browser besuchen:

/var/www/example.com/public_html/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

Da die obigen Befehle als sudo-Benutzer ausgeführt werden, gehören die neu erstellten Dateien und Verzeichnisse root. Um Berechtigungsprobleme zu vermeiden, ändern Sie den Besitz des Domänendokument-Stammverzeichnisses und aller Dateien innerhalb des Verzeichnisses auf den Nginx-Benutzer (www-data ) :

sudo chown -R www-data: /var/www/domain1.com

Erstellen eines Server-Blocks #

Auf Ubuntu-Systemen befinden sich Nginx-Serverblock-Konfigurationsdateien in /etc/nginx/sites-available Verzeichnis. Sie können aktiviert werden, indem symbolische Links zu /etc/nginx/sites-enabled erstellt werden Verzeichnis, das Nginx beim Start gelesen hat.

Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Serverblockdatei:

/etc/nginx/sites-available/example.com
server {
    listen 80;

    server_name example.com www.example.com;

    root /var/www/example.com/public_html;

    index index.html;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;
}
  • server_name :Die Domains, die für diese Serverblockkonfiguration passen sollen.
  • root :Das Verzeichnis, aus dem Nginx die Domänendateien bereitstellt.
  • access_log , error_log :Gibt den Speicherort für Protokolldateien an.

Die Konfigurationsdatei kann beliebig benannt werden, aber normalerweise ist es am besten, den Domänennamen zu verwenden.

Um die neue Serverblockdatei zu aktivieren, erstellen Sie einen symbolischen Link von der Datei zu sites-enabled Verzeichnis, das Nginx beim Start gelesen hat:

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

Testen Sie die Nginx-Konfiguration auf korrekte Syntax:

sudo nginx -t

Wenn keine Fehler vorhanden sind, sieht die Ausgabe so aus:

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

Starten Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart nginx

Um schließlich zu überprüfen, ob der Serverblock wie erwartet funktioniert, öffnen Sie http://example.com in Ihrem Browser Ihrer Wahl, und Sie sehen etwa Folgendes:


Ubuntu
  1. So richten Sie Nginx als Reverse Proxy unter Ubuntu 20.04 ein

  2. So richten Sie WireGuard unter Ubuntu 22.04 ein

  3. So richten Sie Nginx-Serverblöcke unter Ubuntu und CentOS ein

  4. So richten Sie einen TeamSpeak-Server unter Ubuntu 16.04 ein

  5. So installieren Sie Nginx unter Ubuntu 18.04

So starten oder laden Sie NGINX auf einem Ubuntu 20.04-Server neu

So installieren Sie Nginx auf Ubuntu

So installieren Sie Nginx unter Ubuntu 18.04 LTS

So installieren Sie Nginx unter Ubuntu 14.04

So installieren Sie NGINX unter Ubuntu 20.04

So richten Sie einen Seafile-Server mit Nginx unter Ubuntu 18.04 ein