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

Praxis der Bereitstellung von in Python geschriebenen Webanwendungen mit Docker

Inhaltsverzeichnis 1. Docker installieren 2. Code...

MySQL 8.0.16 Installations- und Konfigurations-Tutorial unter CentOS7

Deinstallieren Sie die alte MySQL-Version (übersp...

Wie überwacht und erhält Zabbix Netzwerkgerätedaten über SSH?

Szenariosimulation: Das Betriebs- und Wartungsper...

HarborRestart-Vorgang nach dem Ändern der Konfigurationsdatei

Ich werde nicht viel Unsinn erzählen, schauen wir...

Webinterview: Benutzerdefinierte Vue-Komponenten und Aufrufmethoden

Import: Aufgrund der Projektanforderungen werden ...

Daten in der Layui-Tabellenzeile dynamisch bearbeiten

Inhaltsverzeichnis Vorwort Stil Funktion Beschrei...

CSS-Beispielcode zum Ausblenden der Bildlaufleiste und Scrollen des Inhalts

Vorwort Wenn die HTML-Struktur einer Seite viele ...