Detaillierte Erläuterung der drei Möglichkeiten zum Konfigurieren virtueller Nginx-Hosts (basierend auf Ports)

Detaillierte Erläuterung der drei Möglichkeiten zum Konfigurieren virtueller Nginx-Hosts (basierend auf Ports)

Nginx unterstützt drei Möglichkeiten zum Konfigurieren virtueller Hosts: IP-basierte virtuelle Hostkonfiguration, portbasierte virtuelle Hostkonfiguration und domänennamenbasierte virtuelle Hostkonfiguration.

Detaillierte Erläuterung der drei Möglichkeiten zum Konfigurieren virtueller Nginx-Hosts (basierend auf IP) https://www.jb51.net/article/14974.htm

Detaillierte Erläuterung der drei Möglichkeiten zum Konfigurieren virtueller Nginx-Hosts (basierend auf Domänennamen) https://www.jb51.net/article/14978.htm

2. Portbasierte virtuelle Hostkonfiguration für Nginx

Wenn ein Server nur über eine IP verfügt oder über unterschiedliche Ports auf unterschiedliche virtuelle Hosts zugreifen muss, können Sie die portbasierte virtuelle Hostkonfiguration verwenden.

2.1 Angenommen, der Server hat die IP-Adresse 192.168.2.154

[root@localhost conf]# ifconfig ens33:4 192.168.2.154/24 up
[root@localhost conf]# ifconfig
ens33:4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 192.168.2.154 Netzmaske 255.255.255.0 Broadcast 192.168.2.255
 Ether 00:0c:29:16:90:ae txqueuelen 1000 (Ethernet)

2.2 Die zu konfigurierenden virtuellen Hosts sind 7081, 8081 und 9081. Zum Testen ist es praktisch, die Hostdatei des Hosts zu konfigurieren.

[root@localhost conf]# vim /etc/hosts
[root@localhost conf]# cat /etc/hosts|grep 192.168.2.154
192.168.2.154 www.test154.com

2.3 Erstellen Sie ein Stammverzeichnis für den virtuellen Host, um Webseiten zu speichern und die Homepage-Datei index.html zu erstellen

[root@localhost conf]# cd /data/www/
[root@localhost www]# mkdir port
[root@localhost www]# cd port/
[root@localhost-Port]# mkdir 7081 8081 9081
[root@localhost-Port]# ls
7081 8081 9081
[root@localhost-Port]# echo "Port 7081" > 7081/index.html
[root@localhost-Port]# echo "Port 8081" > 8081/index.html
[root@localhost-Port]# echo "Port 9081" > 9081/index.html

2.4 Ändern Sie nginx.conf und fügen Sie die Konfigurationsdatei des virtuellen Hosts in die Hauptdatei ein

[root@localhost /]# cd /usr/local/nginx/conf/
[root@localhost conf]# ls
fastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utf
fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default
[root@localhost conf]# vim nginx.conf

Fügen Sie die folgende Konfiguration am Ende der Datei nginx.conf hinzu

# Suchen Sie im http-Abschnitt nach folgendem Inhalt und löschen Sie das "#" vor jeder Zeile
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
   '$status $body_bytes_sent "$http_referer" '
   '"$http_user_agent" "$http_x_forwarded_for"';

# Fügen Sie die folgende Anweisung vor dem letzten "}" am Ende der Konfigurationsdatei hinzu, wie unten gezeigt include vhost/*.conf

2.5 Bearbeiten Sie die Konfigurationsdatei für jeden Port

[root@localhost vhost]# vim www.test154.7081.conf
[root@localhost vhost]# cat www.test154.7081.conf
 Server {
 hören Sie 192.168.2.154:7081;
 # Auf den tatsächlichen Domänennamen konfigurieren. Der Domänenname jeder Konfigurationsdatei des virtuellen Hosts ist derselbe #server_name www.test.com;

 Zugriffsprotokoll /data/logs/www.test154.7081.log main;
 Fehlerprotokoll /data/logs/www.test154.7081.error.log;

 Standort / {
  Wurzel /data/www/port/7081;
  Index Index.html Index.htm;
 }
 }

[root@localhost vhost]# vim www.test154.8081.conf
[root@localhost vhost]# cat www.test154.8081.conf
 Server {
 hören Sie 192.168.2.154:8081;
 # Auf den tatsächlichen Domänennamen konfigurieren. Der Domänenname jeder Konfigurationsdatei des virtuellen Hosts ist derselbe #server_name www.test.com;

 Zugriffsprotokoll /data/logs/www.test154.8081.log main;
 Fehlerprotokoll /data/logs/www.test154.8081.error.log;

 Standort / {
  Wurzel /data/www/port/8081;
  Index Index.html Index.htm;
 }
 }

[root@localhost vhost]# vim www.test154.9081.conf
[root@localhost vhost]# cat www.test154.9081.conf
 Server {
 hören Sie 192.168.2.154:9081;
 # Auf den tatsächlichen Domänennamen konfigurieren. Der Domänenname jeder Konfigurationsdatei des virtuellen Hosts ist derselbe #server_name www.test.com;

 Zugriffsprotokoll /data/logs/www.test154.9081.log main;
 Fehlerprotokoll /data/logs/www.test154.9081.error.log;

 Standort / {
  Wurzel /data/www/port/9081;
  Index Index.html Index.htm;
 }
 }

2.6 Erstellen Sie eine Protokolldatei, sonst kann Nginx nicht gestartet werden

[root@localhost /]# mkdir -p /data/logs
[root@localhost /]# touch /data/logs/www.test154.7081.log
[root@localhost /]# touch /data/logs/www.test154.7081.error.log
[root@localhost /]# touch /data/logs/www.test154.8081.log
[root@localhost /]# touch /data/logs/www.test154.8081.error.log
[root@localhost /]# touch /data/logs/www.test154.9081.log
[root@localhost /]# touch /data/logs/www.test154.9081.error.log
[root@localhost /]# ls /data/logs/
www.test154.7081.error.log www.test154.8081.error.log www.test154.9081.error.log
www.test154.7081.log www.test154.8081.log www.test154.9081.log

2.7 Testen Sie die Konfigurationsdatei vor dem Start von nginx

[root@localhost /]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx -t
nginx: die Syntax der Konfigurationsdatei /usr/local/nginx/conf/nginx.conf ist in Ordnung
nginx: Test der Konfigurationsdatei /usr/local/nginx/conf/nginx.conf ist erfolgreich
# Starten Sie nginx
[root@localhost sbin]# ./nginx

2.8 Testdateien

[root@localhost ~]# curl http://www.test154.com:7081
Port 7081
[root@localhost ~]# curl http://www.test154.com:8081
Port 8081
[root@localhost ~]# curl http://www.test154.com:9081
Port 9081

Anhang: Probleme bei der Konfiguration

1. Probleme, die während des Abschlusstests aufgetreten sind

[root@localhost sbin]# curl http://www.test154.com:7081
curl: (7) Verbindung zu www.test154.com:7081 fehlgeschlagen; Verbindung abgelehnt [root@localhost sbin]# curl 192.168.2.154:7081
curl: (7) Verbindung zu 192.168.2.154:7081 fehlgeschlagen; Verbindung abgelehnt

Lösung:

1.1 Verwenden Sie den folgenden Befehl, um zu überprüfen, ob Nginx auf dem entsprechenden Port lauscht

[root@localhost conf]# netstat -lnt
Aktive Internetverbindungen (nur Server)
Proto Recv-Q Send-Q Lokale Adresse Fremde Adresse Status
tcp 0 0 0.0.0.0:111 0.0.0.0:* HÖREN
tcp 0 0 192.168.2.153:80 0.0.0.0:* HÖREN
tcp 0 0 192.168.2.152:80 0.0.0.0:* HÖREN
tcp 0 0 192.168.2.151:80 0.0.0.0:* HÖREN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* HÖREN
tcp 0 0 192.168.2.154:8081 0.0.0.0:* HÖREN
tcp 0 0 0.0.0.0:22 0.0.0.0:* HÖREN
tcp 0 0 192.168.2.154:9081 0.0.0.0:* HÖREN
tcp 0 0 127.0.0.1:25 0.0.0.0:* HÖREN
tcp 0 0 192.168.2.154:7081 0.0.0.0:* HÖREN
tcp6 0 0 :::111 :::* HÖREN
tcp6 0 0 :::22 :::* HÖREN
tcp6 0 0 :::23 :::* HÖREN
tcp6 0 0 ::1:25 :::* ANHÖREN

1.2 Wenn Nginx nicht auf dem entsprechenden Port lauscht, starten Sie den Nginx-Dienst neu. Wenn es immer noch nicht funktioniert, starten Sie den Server neu

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der drei Möglichkeiten zum Konfigurieren virtueller Nginx-Hosts (basierend auf IP)
  • Detaillierte Erläuterung des Konfigurationsbeispiels für einen virtuellen Nginx-Host
  • Drei Möglichkeiten zum Konfigurieren virtueller Nginx-Hosts (basierend auf Domänennamen)

<<:  Probleme und Lösungen bei der Verwendung des V-Modells zum bidirektionalen Binden der Werte von übergeordneten und untergeordneten Komponenten in Vue

>>:  So installieren Sie eine MySQL-Datenbank im Deepin 2014-System

Artikel empfehlen

Der HTML 5-Entwurf wurde kein formeller Standard

<br />Gestern habe ich beim W3C gesehen, das...

10 zu wenig genutzte oder missverstandene HTML-Tags

Hier sind 10 HTML-Tags, die zu wenig verwendet od...

JavaScript zum Erzielen eines einfachen Drag-Effekts

In diesem Artikel wird der spezifische JavaScript...

Vue implementiert Multi-Grid-Eingabefeld auf mobilem Endgerät

Vor Kurzem hat das Unternehmen die Anforderung ge...

Implementierungsbeispiel für Scan-Code-Zahlung im Vue-Projekt (mit Demo)

Inhaltsverzeichnis Nachfragehintergrund Gedankena...

So ändern Sie die Zeichensatzkodierung in MySQL 5.5/5.6 unter Linux auf UTF8

1. Melden Sie sich bei MySQL an und verwenden Sie...

Get/Delete-Methode zum Übergeben von Array-Parametern in Vue

Wenn Front-End und Back-End interagieren, müssen ...

Verwendung der MySQL-Anweisung „truncate table“

Mit der Anweisung „Truncate table“ werden alle Da...

Eine kurze Diskussion über MySql-Ansichten, Trigger und gespeicherte Prozeduren

Sicht Was ist eine Ansicht? Welche Rolle spielt e...

Leistung des Node+Express-Testservers

Inhaltsverzeichnis 1 Testumgebung 1.1 Server-Hard...

Lösen Sie das MySQL-Login-1045-Problem unter CentOS

Da die gesamte Anwendung unter CentOS bereitgeste...

jQuery-Plugin zum Erzielen eines Karusselleffekts

Jeden Tag ein jQuery-Plugin - jQuery-Plugin zur I...

Details zur Ereignisbindung reagieren

Inhaltsverzeichnis Ereignisbindung von Klassenkom...