So richten Sie mit NGINX-basierte und ip-basierte virtuelle Hosts (Serverblöcke) (Serverblöcke) ein

So richten Sie mit NGINX-basierte und ip-basierte virtuelle Hosts (Serverblöcke) (Serverblöcke) ein

In relativ kurzer Zeit seit der Entwicklung und zur Verfügung gestellt (etwas mehr als 10 Jahre), Nginx hat ein anhaltendes und stetiges Wachstum unter Webservern aufgrund seiner hohen Leistung und geringen Speicherverwendung erlebt.

Nginx name-basierte und IP-basierte virtuelle Hosting

Seit Nginx ist kostenlose und Open Source.

Verpassen Sie nicht: Apache Name-basierte und IP-basierte virtuelle Hosting

Für diejenigen von uns, die am meisten daran gewöhnt sind Apache, Nginx Möglicherweise haben Sie eine etwas starke Lernkurve (zumindest war das mein Fall), aber es zahlt sich sicherlich aus.

In diesem Artikel erklären wir, wie Sie mit Nginx eingerichtet werden können Name basiert Und IP-basiert Virtuelles Hosting in Centos/Rhel 7 Server und Debian 8 und Derivate beginnend mit Ubuntu 15.04 und seine Spin-offs.

Unser Testszenario für diesen Artikel lautet wie folgt:

  1. Betriebssystem: Debian 8 Jessie Server [IP 192.168.0.25]
  2. Tor: Router [IP 192.168.0.1]
  3. Webserver: Nginx 1.6.2-5
  4. Dummy -Domänen: www.tecmintlovesnginx.com und www.NginxMeanspower.com.

Installieren von NGINX -Webserver

Wenn Sie dies noch nicht getan haben, installieren Sie nginx, bevor Sie weiter fortfahren. Wenn Sie Hilfe benötigen, um loszulegen, gibt eine schnelle Suche nach Nginx auf dieser Website mehrere Artikel zu diesem Thema zurück. Klicken Sie oben auf dieser Seite auf das Symbol für das Vergrößerungsglas und suchen Sie nach dem Schlüsselwort nginx. Wenn Sie nicht wissen, wie Sie auf dieser Website nach Artikeln suchen, machen Sie sich hier keine Sorgen, wir haben Links zu den Nginx -Artikeln hinzugefügt. Gehen Sie einfach nach Ihren jeweiligen Linux -Verteilungen durch.

  1. Installieren und kompilieren Nginx aus Quellen in RHEL/Centos 7
  2. Installieren Sie den NGINX -Webserver auf Debian 8
  3. Installieren Sie Nginx mit MariADB und PHP/PHP-FPM auf Fedora 23
  4. Installieren Sie den NGINX -Webserver auf Ubuntu 15.10 Server/Desktop
  5. Passwort schützen Nginx -Website -Verzeichnisse

Dann machen Sie sich bereit, mit dem Rest dieses Tutorials fortzufahren.

Erstellen namenbasierter virtueller Hosts in Nginx

Wie Sie bereits wissen, ist ein virtueller Host eine Website, die von Nginx in einem einzelnen Cloud -VPS oder physischen Server bedient wird. In den Nginx -Dokumenten finden Sie jedoch den Begriff "Serverblöcke" Stattdessen, aber sie sind im Grunde dasselbe, die mit verschiedenen Namen bezeichnet werden.

Der erste Schritt, um virtuelle Hosts einzurichten, besteht darin, ein oder mehrere Serverblöcke (in unserem Fall zu erstellen, zwei, eine für jede Dummy -Domäne) in der Hauptkonfigurationsdatei (/etc/nginx/nginx.Conf) oder im Inneren /etc/nginx/seites-verfügbar.

Obwohl der Name der Konfigurationsdateien in diesem Verzeichnis (Websites verfügbar) Kann auf alles gesetzt werden, was Sie wollen, es ist eine gute Idee, den Namen der Domänen zu verwenden, und außerdem haben wir uns entschieden, das hinzuzufügen .Conf Erweiterung, um anzuzeigen, dass dies Konfigurationsdateien sind.

Diese Serverblöcke können relativ komplex sein, aber in ihrer grundlegenden Form bestehen sie aus dem folgenden Inhalt:

In /etc/nginx/sites-verfügbar/tecmintlovesnginx.com.Conf:

Server Listen 80; server_name tecminintlovesnginx.com www.tecmintlovesnginx.com; access_log/var/www/logs/tecmintlovesnginx.Zugang.Protokoll; ERROR_LOG/VAR/www/logs/tecmintlovesnginx.Fehler.Protokollfehler; root/var/www/tecmintlovesnginx.com/public_html; Indexindex.HTML -Index.HTM;  

In /etc/nginx/sites-verfügbar/nginxmeanspower.com.Conf:

Server Listen 80; server_name nginxMeanspower.com www.NginxMeanspower.com; Access_log/var/www/logs/nginxMeanspower.Zugang.Protokoll; ERROR_LOG/VAR/WWW/LOGS/NGINXMEANSPOWER.Fehler.Protokollfehler; root/var/www/nginxmeanspower.com/public_html; Indexindex.HTML -Index.HTM;  

Sie können die oben genannten Blöcke verwenden, um Ihre virtuellen Hosts einzurichten, oder Sie können die Dateien mit dem Basis -Skelett aus erstellen /etc/nginx/sites-verfügbare/standardmäßig (Debian) oder /etc/nginx/nginx.Conf.Standard (Centos).

Wenn Sie nach dem Kopieren ihre Berechtigungen und ihr Eigentum ändern:

# CHMOD 660/etc/nginx/sites-verfügbare/tecmintlovesnginx.com.conf # chmod 660/etc/nginx/sites-verfügbare/nginxmeanspower.com.Conf 

Debian und Derivate

# chgrp www-data/etc/nginx/sites-verfügbare/tecmintlovesnginx.com.conf # chgrp www-data/etc/nginx/seites-verfügbar/nginxMeanspower.com.Conf 

Centos und Rhel

# chgrp nginx/etc/nginx/sites-verfügbar/tecmintlovesnginx.com.conf # chgrp nginx/etc/nginx/sites-verfügbare/nginxmeanspower.com.Conf 

Wenn Sie fertig sind, sollten Sie die Beispieldatei löschen oder sie in etwas anderes umbenennen, um Verwirrung oder Konflikte zu vermeiden.

Bitte beachten Sie, dass Sie auch das Verzeichnis für die Protokolle erstellen müssen (/var/www/logs) und geben dem Nginx -Benutzer (Benutzernginx oder www-data, Lesen und schreiben Sie Berechtigungen darüber: je nachdem, ob Sie CentOS oder Debian) lesen und schreiben:

# Mkdir/var/www/logs # chmod -r 660/var/www/logs # chgrp/var/www/logs 

Die virtuellen Hosts müssen nun aktiviert werden, indem ein Symlink für diese Datei im verzeichneten Websites erstellt wird:

# ln -S/etc/nginx/seites -verfügbare/tecmintlovesnginx.com.conf/etc/nginx/sites-fähig/tecmintlovesnginx.com.conf # ln -s/etc/nginx/sites -verfügbare/nginxmeanspower.com.conf/etc/nginx/sites-fähig/nginxmeanspower.com.Conf 

Erstellen Sie als nächstes eine Beispiel -HTML -Datei mit dem Namen namens Index.html innen /var/www // public_html Für jeden der virtuellen Hosts (ersetzen wie benötigt). Ändern Sie den folgenden Code nach Bedarf:

    Tecmint liebt Nginx   

Tecmint liebt Nginx!

Testen Sie schließlich die NGINX -Konfiguration und starten Sie den Webserver. Wenn die Konfiguration Fehler gibt, werden Sie aufgefordert, sie zu korrigieren:

# nginx -t && systemctl start nginx 
Überprüfen Sie die Nginx -Konfiguration

und fügen Sie Ihren folgenden Einträgen hinzu /etc/hosts Datei in Ihrer lokalen Maschine als grundlegende Strategie für Namenslösungsstrategie:

192.168.0.25 tecminintlovesnginx.com 192.168.0.25 NginxMeanspower.com 

Starten Sie dann einen Webbrowser und gehen Sie zu den oben aufgeführten URLs:

Überprüfen Sie den Namen der Nginx -Namen basierender virtueller Hosts

Um mehr virtuelle Hosts in Nginx hinzuzufügen, wiederholen Sie einfach die oben genannten Schritte nach Bedarf.

IP-basierte virtuelle Hosts in Nginx

Im Gegensatz zu Name basiert Virtuelle Hosts, bei denen alle Hosts über dieselbe IP -Adresse zugänglich sind, IP-basiert Virtuelle Hosts benötigen eine andere IP: Port Kombination jeweils.

Auf diese Weise kann der Webserver je nach IP -Adresse und Port, an dem die Anforderung empfangen wird. Da benannte virtuelle Hosts uns den Vorteil haben, eine IP-Adresse und einen Port zu teilen, sind sie der Standard für allgemeine Webserver und sollten das Setup der Wahl sein, es sei denn, Ihre installierte Version von NGINX unterstützt nicht Servernamenanzeige (Sni), entweder weil es eine wirklich veraltete Version ist oder weil sie ohne die zusammengestellt wurde -with-http_ssl_module Option kompilieren.

Wenn,

# nginx -v 

Gibt die hervorgehobenen Optionen unten nicht zurück:

Überprüfen Sie die Nginx -Version und die Module

Sie müssen Ihre Version von Nginx aktualisieren oder sie je nach Ihrer ursprünglichen Installationsmethode neu kompilieren. Für die Kompilierung von Nginx folgen Sie den folgenden Artikel:

  1. Installieren und kompilieren Nginx aus Quellen in RHEL/Centos 7

Angenommen, wir müssen loslegen, müssen wir beachten, dass eine weitere Voraussetzung für IP-basiert Virtuelle Hosts sind die Verfügbarkeit separater IPs - entweder durch Zuweisen von verschiedenen Netzwerkschnittstellen oder durch die Verwendung von virtuellen IPs (auch als IP -Aliasing bekannt).

IP -Aliasing in Debian (Angenommen, Sie verwenden Eth0), bearbeiten /etc/netzwerk/schnittstellen folgendermaßen:

Debian und Derivate

Auto ETH0: 1 IFACE ETH0: 1 INET statische Adresse 192.168.0.25 NETMASK 255.255.255.0 Netzwerk 192.168.0.0 Sendung 192.168.0.255 Gateway 192.168.0.1 Auto ETH0: 2 IFACE ETH0: 2 INET statische Adresse 192.168.0.26 NETMASK 255.255.255.0 Netzwerk 192.168.0.0 Sendung 192.168.0.255 Gateway 192.168.0.1 

Im obigen Beispiel erstellen wir zwei virtuelle NICs aus ETH0: ETH0: 1 (192.168.0.25) und ETH0: 2 (192.168.0.26).

Centos und Rhel

In CentOS umbenennen /etc/sysconfig/network-scripts/ifcfg-enp0S3 als IFCFG-ENP0S3: 1 und machen eine Kopie als IFCFG-ENP0S3: 2, und dann ändern Sie einfach die folgenden Zeilen:

Device = "ENP0S3: 1" iPaddr = 192.168.0.25 

Und

Device = "ENP0S3: 2" iPaddr = 192.168.0.26 

Starten Sie nach Abschluss den Netzwerkdienst neu:

# SystemCtl Neustart der Networking 

Nehmen Sie anschließend die folgenden Änderungen an den zuvor in diesem Artikel definierten Serverblöcken vor:

In /etc/nginx/sites-verfügbar/tecmintlovesnginx.com.Conf:

Hören Sie 192.168.0.25:80 

In /etc/nginx/sites-verfügbar/nginxmeanspower.com.Conf:

Hören Sie 192.168.0.26:80 

Schließlich starten Sie Nginx neu, damit die Änderungen wirksam werden können.

# SystemCTL Neustart Nginx 

Und vergessen Sie nicht, Ihren Einheimischen zu aktualisieren /etc/hosts entsprechend:

192.168.0.25 tecminintlovesnginx.com 192.168.0.26 NginxMeanspower.com 

Somit ist jede Anfrage nach gestellt 192.168.0.25 Und 192.168.0.26 am Hafen 80 wird zurückkehren tecmintlovesnginx.com Und NginxMeanspower.com, bzw:

Überprüfen Sie den virtuellen Host von Nginx IP -basierten virtuellen Host

Wie Sie in den obigen Bildern sehen können.

Zusammenfassung

In diesem Tutorial haben wir erklärt, wie wir beide einrichten sollen Name basiert Und IP-basiert Virtuelle Hosts in Nginx. Obwohl Sie wahrscheinlich die erste Option verwenden möchten, ist es wichtig zu wissen, dass die andere Option immer noch vorhanden ist, wenn Sie sie benötigen.

Darüber hinaus möchten Sie die Nginx -Dokumente mit einem Lesezeichen versehen, da es würdig und gut ist, sie beim Erstellen von Serverblöcken häufig auf sie zu verweisen (dort haben Sie es - wir sprechen jetzt in der NGINX -Sprache) und sie konfigurieren. Sie werden nicht alle Optionen glauben, die zur Konfiguration und Einstellung dieses hervorragenden Webservers verfügbar sind.

Zögern Sie wie immer nicht, uns eine Zeile mit dem unten stehenden Formular abzugeben, wenn Sie Fragen oder Kommentare zu diesem Artikel haben. Wir freuen uns darauf, von Ihnen zu hören, und Ihr Feedback zu diesem Leitfaden ist sehr willkommen.