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

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

Mit Nginx Server Blocks können Sie mehr als eine Website auf einem einzigen Computer ausführen. Mit Server-Blöcken können Sie das Site Document Root (das Verzeichnis, das die Website-Dateien enthält) angeben, eine separate Sicherheitsrichtlinie für jede Site erstellen, unterschiedliche SSL-Zertifikate für jede Site verwenden und vieles mehr.

In diesem Artikel geben wir eine Schritt-für-Schritt-Anleitung zum Einrichten von Nginx-Serverblöcken (ähnlich Apache Virtual Hosts) unter Ubuntu 18.04.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit dem Tutorial fortfahren:

  • Sie haben einen Domainnamen, der auf die IP Ihres öffentlichen Servers verweist. Wir werden example.com verwenden .
  • Sie haben Nginx installiert, indem Sie diese Anweisungen befolgen.
  • Sie sind als Benutzer mit sudo-Berechtigungen angemeldet.
In einigen Dokumentationen sehen Sie Server Blocks wird als Virtual host bezeichnet .Ein virtueller Host ist ein Apache-Begriff.

Erstellen Sie die 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.

Wir werden die folgende Verzeichnisstruktur verwenden:

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

Grundsätzlich erstellen wir für jede Domain, die wir auf unserem Server hosten möchten, ein separates Verzeichnis im Verzeichnis /var/www Verzeichnis. In jedem dieser Verzeichnisse erstellen wir ein public_html Verzeichnis, in dem die Dateien der Domain-Website gespeichert werden.

Lassen Sie uns das Root-Verzeichnis für unsere Domain example.com erstellen :

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

Zu Testzwecken erstellen wir eine index.html Datei im Dokumentstammverzeichnis der Domain.

Öffnen Sie Ihren Editor und erstellen Sie die Demodatei:

/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>

In diesem Beispiel führen wir die Befehle als sudo-Benutzer aus und die neu erstellten Dateien und Verzeichnisse gehören dem Root-Benutzer.

Um Berechtigungsprobleme zu vermeiden, ändern Sie den Besitz des Dokumentenstammverzeichnisses der Domain auf den Nginx-Benutzer (www-data ):

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

Erstellen Sie einen Serverblock #

Standardmäßig werden auf Ubuntu-Systemen Konfigurationsdateien für Nginx-Serverblöcke in /etc/nginx/sites-available gespeichert Verzeichnis, die durch symbolische Links zu /etc/nginx/sites-enabled/ aktiviert werden Verzeichnis.

Öffnen Sie den Editor Ihrer Wahl und erstellen Sie die folgende Serverblockdatei:

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

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

    index index.html;

    server_name example.com www.example.com;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

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

Sie können die Konfigurationsdatei beliebig benennen, 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 von Nginx beim Start gelesen wird:

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 einen OpenVPN-Server unter Ubuntu 18.04 ein

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

  3. So richten Sie WireGuard unter Ubuntu 22.04 ein

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

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

So richten Sie Nginx-Serverblöcke in Ubuntu 18.04 LTS ein

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 den Nginx-Webserver unter Ubuntu 20.04

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