GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie den virtuellen Nginx-Host (Serverblöcke) unter CentOS 7 ein

Einführung

Serverblöcke, oft als virtueller Nginx-Host bezeichnet sind eine Funktion des Nginx-Webservers, mit der Sie mehrere Websites auf einem Server hosten können. Im Gegensatz zum Einrichten und Konfigurieren eines Servers für jede Domain spart das Hosten mehrerer Websites auf einem einzigen Computer sowohl Zeit als auch Geld.

Domänen sind isoliert und unabhängig und haben jeweils ein separates:

  • Verzeichnis für Site-Dokumentation
  • Website-Sicherheitsrichtlinie
  • SSL-Zertifikat

In diesem Tutorial erfahren Sie, wie Sie Nginx-Serverblöcke einrichten und eine lokale Hostdatei unter CentOS 7 konfigurieren.

Voraussetzungen

  • Ein selbstverwalteter CentOS-Server oder eine VM
  • Nginx auf dem System installiert
  • Ein Benutzer mit sudo Privilegien

Virtuelle Host-/Serverblöcke auf CentOS einrichten

Schritt 1:Verzeichnisstruktur erstellen

Der virtuelle Nginx-Host kann mehrere Websites auf einem einzigen Computer fördern. Da jede Website über eine individuelle Site-Dokumentation verfügt, müssen Sie individuelle Verzeichnisstrukturen erstellen, um die Daten zu speichern.

Jeder Serverblock sollte ein Verzeichnis innerhalb des Dokumentenstammverzeichnisses haben (die Datei /var/www Verzeichnis).

Diese Anleitung zeigt Ihnen, wie Sie virtuelle Hosts für zwei Server erstellen (website1.com und website2.com ). Sie können die Konfiguration anpassen und an Ihre jeweiligen Ressourcen anpassen.

1. Beginnen Sie mit dem folgenden Befehl, um einen Ordner innerhalb von /var/www zu erstellen Verzeichnis mit dem Befehl:

sudo mkdir -p /var/www/website1.com/html

2. Erstellen Sie dann eine für die zweite Website, indem Sie Folgendes eingeben:

sudo mkdir -p /var/www/website2.com/html

3. Ändern Sie als Nächstes den Eigentümer der Dateien, damit andere Benutzer Dateien in den Verzeichnissen hinzufügen, löschen oder ändern können. Infolgedessen gehören beide Verzeichnisse dem Benutzer, bei dem Sie angemeldet sind.

4. Verwenden Sie den Befehl chown, um den Dateibesitz zu ändern:

sudo chown -R $USER:$USER /var/www/website1.com/html

5. Wiederholen Sie den Vorgang für das zweite Webverzeichnis (achten Sie darauf, den Domänennamen zu ändern), indem Sie Folgendes eingeben:

sudo chown -R $USER:$USER /var/www/website2.com/html

6. Erteilen Sie abschließend Leseberechtigung zu allen Dateien im Verzeichnis /var/www mit chmod Befehl:

sudo chmod -R 755 /var/www

Schritt 2:Erstellen Sie eine Demoseite für den virtuellen Host

Der folgende Schritt besteht darin, den Inhalt zu erstellen, den Sie auf den Websites anzeigen möchten, die auf Nginx-Serverblöcken gehostet werden. Der einfachste Weg, den Prozess zu veranschaulichen, wäre das Erstellen einer index.html Seite für die beiden zuvor genannten Domains.

1. Verwenden Sie einen Linux-Texteditor Ihrer Wahl, um die Datei index.html für die erste Website zu erstellen und zu öffnen. In diesem Beispiel haben wir Vi verwendet (aber Nano oder andere funktionieren auch gut):

vi /var/www/website1.com/html/index.html

2. Sobald eine leere Vi-Seite geöffnet wird, drücken Sie i (zum Einfügen) und fügen Sie den folgenden Inhalt hinzu:

<html>
  <head>
    <title>Welcome to our first website!</title>
  <head>
  <body>
    <h1>Great work! You have created the website1.com server block.</h1>
  <body>
<html>

3. Dann speichern und beenden Sie die erste Datei.

4. Wiederholen Sie die Schritte für die zweite Domäne. Denken Sie jedoch daran, den Dateinamen in website2 zu ändern :

vi /var/www/website2.com/html/index.html

Fügen Sie außerdem ähnliche Inhalte wie im vorherigen Schritt hinzu, ändern Sie jedoch die Besonderheiten, damit sie mit der zweiten Domain übereinstimmen:

<html>
  <head>
    <title>Welcome to our second website!</title>
  <head>
  <body>
    <h1>Great work! You have created the website2.com server block.</h1>
  <body>
<html>

Speichern und beenden Sie die Datei erneut.

Schritt 3:Umgebung für Serverblockdateien einrichten

Bevor wir virtuelle Hosts für die beiden Domänen einrichten, müssen wir zwei Verzeichnisse erstellen:

  • Sites-verfügbar Verzeichnis, in dem die Serverblöcke gespeichert werden.
  • Für Websites aktiviert Verzeichnis, das Nginx mitteilt, welche Links veröffentlicht werden sollen und welche Blöcke Inhalte mit Besuchern teilen.

1. Verwenden Sie mkdir Befehl, um die neuen Verzeichnisse mit den Befehlen zu erstellen:

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

2. Öffnen Sie dann die Nginx-Konfigurationsdatei und ändern Sie sie, indem Sie das Verzeichnis „sites-enabled“ hinzufügen:

sudo vi /etc/nginx/nginx.conf

3. Fügen Sie innerhalb des http-Blocks die folgenden zwei Zeilen hinzu:

include /etc/nginx/sites-enabled/*.conf
server_names_hash_bucket_size 64;

Während die erste Zeile Nginx anweist, das für Websites aktivierte Verzeichnis zu überprüfen, erhöht die zweite Zeile, wie viel Speicher für die Untersuchung mehrerer Domänennamen reserviert ist.

4. Speichern Sie die Datei und beenden Sie sie.

5. Überprüfen Sie die Nginx-Konfigurationsdatei, nachdem Sie Änderungen vorgenommen haben, um sicherzustellen, dass die Syntax korrekt ist. Dadurch können mögliche Fehler in Zukunft vermieden werden.

Testen Sie die Datei mit dem folgenden Befehl:

sudo nginx --t

Wenn die Syntax in Ordnung ist , teilt Ihnen die Ausgabe mit, dass der Test erfolgreich war, wie im Bild unten.

Wenn es jedoch ein Problem in der Syntax findet, gibt die Ausgabe an, wo der Fehler ist und wie man zurückgeht und ihn korrigiert.

Schritt 4:Serverblockdateien erstellen

Das Nginx-Webserverpaket enthält einen Standardserverblock mit dem Namen default.conf. Da Sie für jede Domäne Serverblöcke erstellen müssen, ist es am einfachsten, die vorhandene Vorlage zu kopieren und die Spezifikationen zu ändern.

1. Erstellen Sie einen virtuellen Host für die erste Website mit dem cp Befehl, um eine exakte Kopie der Datei zu erstellen:

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website1.com.conf

2. Öffnen Sie die geklonte Datei mit einem Texteditor mit dem folgenden Befehl:

sudo vi /etc/nginx/sites-available/website1.com.conf

Der Inhalt der Datei sollte wie im Bild unten aussehen:

3. Es gibt drei (3) Zeilen, die Sie in der Datei bearbeiten müssen:

  • Der Servername sollte dem Domainnamen Ihrer ersten Website entsprechen. Achten Sie darauf, die Adresse mit und ohne www. anzugeben Präfix. Dadurch erkennt der Server beide Arten von Anfragen von Besuchern und leitet sie auf denselben Inhalt weiter.

In unserem Beispiel wäre der server_name also:

server name website1.com www.website1.com;
  • Ändern Sie das Stammverzeichnis so, dass es mit website1.com übereinstimmt, indem Sie den Befehl verwenden:
root /var/www/website1.com/html;
  • Fügen Sie try_files hinzu Befehl mit einem 404-Fehler für Fälle, in denen der Server Anfragen für nicht verfolgbare Dateien und Verzeichnisse erhält:
try_files $uri $uri/ =404;

Achten Sie darauf, die Datei vor dem Beenden zu speichern. Nachdem alle Änderungen vorgenommen wurden, sieht die Konfigurationsdatei wie folgt aus:

4. Wiederholen Sie den Vorgang für den zweiten Serverblock, während Sie die Details so ändern, dass sie website2.com entsprechen .

Dazu gehört das Kopieren der Standardkonfigurationsdatei mit dem Befehl:

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website2.com.conf

Gefolgt vom Öffnen einer Datei mit einem Texteditor:

sudo vi /etc/nginx/sites-available/website2.com.conf

Bearbeiten Sie den Inhalt wie folgt:

server name website2.com www.website2.com;
try_files $uri $uri/ =404;
root /var/www/website2.com/html;

Schritt 5:Serverblockdateien aktivieren

Um die virtuellen Hostdateien zu aktivieren, erstellen Sie mit den folgenden Befehlen symbolische Links in den für Sites aktivierten Verzeichnissen:

sudo ln -s /etc/nginx/sites-available/website1.com.conf /etc/nginx/sites-enabled/website1.com.conf
sudo ln -s /etc/nginx/sites-available/website2.com.conf /etc/nginx/sites-enabled/website2.com.conf


Damit die Änderungen wirksam werden, stellen Sie sicher, dass Sie Nginx neu starten:

sudo systemctl restart nginx

Schritt 6:Hostdatei konfigurieren

Wenn Sie die Beispieldomänen anstelle von funktionierenden verwendet haben, ändern Sie die Hosts Datei, um Anfragen an den von Ihnen erstellten Virtual Private Server (VPS) umzuleiten.

1. Öffnen Sie die Hostdatei in einem Texteditor:

sudo vi /etc/hosts

2. Bearbeiten Sie die folgenden zwei Zeilen unter dem vorhandenen Inhalt, während Sie die VPS-IP-Adresse angeben:

ip_address website1.com
ip_address website2.com

3. Speichern und beenden Sie die Datei.

Schritt 7:Einrichtung der Serverblöcke überprüfen

Um die Einrichtung der Serverblöcke zu überprüfen, navigieren Sie zu den Websites, die Sie erstellt haben, um sie auf den Serverblöcken zu hosten.

Öffnen Sie einen Browser und geben Sie die URL der ersten Domain ein:

www.website1.com
www.website2.com

Sie sollten den Inhalt sehen, der in Schritt 2 für die Demoseite erstellt wurde.


Cent OS
  1. So richten Sie virtuelle Apache-Hosts unter CentOS ein

  2. So erstellen Sie einen virtuellen Nginx-Host (Serverblock)

  3. DHCP-Server auf CentOS 8 einrichten – wie geht das?

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

  5. Virtueller Nginx-Host – Nginx-Serverblock

So erstellen Sie virtuelle Apache-Hosts unter CentOS 7

So erstellen Sie einen LAMP-Server unter CentOS 7

So installieren Sie Nginx unter CentOS

So richten Sie einen virtuellen Nginx-Host ein

So installieren Sie Nginx unter CentOS 6

So richten Sie einen DHCP-Server unter CentOS 8 ein