GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So richten Sie Nginx-Serverblöcke unter Debian 10 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 erklärt, wie man Nginx-Serverblöcke unter Debian 10 einrichtet.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:

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

In einigen Dokumentationen wird der Begriff Server Blocks verwendet 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. Der Dokumentenstamm kann ein beliebiges Verzeichnis auf dem Server sein.

Die Beispiele in diesem Artikel verwenden die folgende Verzeichnisstruktur:

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

Führen Sie den folgenden Befehl aus, um das Stammverzeichnis für die Domäne example.com zu erstellen :

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

Als nächstes erstellen Sie eine index.html Datei im Dokumentstammverzeichnis der Domain:

sudo nano /var/www/example.com/public_html/index.html

Öffnen Sie die Datei und fügen Sie die folgenden Zeilen ein:

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

Um Berechtigungsprobleme zu vermeiden, ändern Sie den Besitz des Domänendokument-Stammverzeichnisses auf den Nginx-Benutzer (www-data ):

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

Erstellen Sie einen Serverblock #

Standardmäßig werden auf Debian-Systemen Konfigurationsdateien für Nginx-Serverblöcke in /etc/nginx/sites-available gespeichert Verzeichnis. Um eine Konfiguration zu aktivieren, müssen Sie die Datei symbolisch mit /etc/nginx/sites-enabled/ verknüpfen Verzeichnis.

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

sudo nano /etc/nginx/sites-available/example.com.conf
/etc/nginx/sites-available/example.com.conf
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;
    }
}

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

Aktivieren Sie die neue Serverblockdatei, indem Sie einen symbolischen Link von der Datei zu sites-enabled erstellen Verzeichnis:

sudo ln -s /etc/nginx/sites-available/example.com.conf /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 zu überprüfen, ob der Serverblock wie erwartet funktioniert, öffnen Sie http://example.com in Ihrem Browser, und Sie sehen etwa Folgendes:


Debian
  1. So richten Sie einen Samba-Server unter Debian 10 Buster ein

  2. So richten Sie einen NFS-Server unter Debian 10 Buster ein

  3. So richten Sie einen SFTP-Server auf Debian 11 Server ein

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

  5. So richten Sie einen OpenVPN-Server unter Debian 10 ein

So richten Sie einen Mailserver mit PostfixAdmin unter Debian 11 ein

So richten Sie Rsyslog Server Debian 10/11 ein

So richten Sie NTP-Server und -Client unter Debian 11 ein

So richten Sie ModSecurity mit Nginx unter Debian/Ubuntu ein

So installieren Sie Nginx mit PHP-FPM unter Debian 11

So installieren Sie Nginx in Debian 7