Drei Möglichkeiten zum Konfigurieren virtueller Nginx-Hosts (basierend auf Domänennamen)

Drei Möglichkeiten zum Konfigurieren virtueller Nginx-Hosts (basierend auf Domänennamen)

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

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

3. Nginx-Domänennamen-basierte virtuelle Hostkonfiguration

Die Verwendung der domänennamenbasierten virtuellen Hostkonfiguration ist eine beliebte Methode. Mehrere Domänennamen können auf derselben IP konfiguriert und alle über Port 80 aufgerufen werden.

3.1 Angenommen, der Server hat die IP-Adresse 192.168.2.155

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

3.2 Der Domänenname, der 192.168.2.155 entspricht, lautet wie folgt. Konfigurieren Sie die Hostdatei des Hosts zum einfachen Testen

[root@localhost ~]# vim /etc/hosts
[root@localhost ~]# cat /etc/hosts|grep 192.168.2.155
192.168.2.155 www.oa.com
192.168.2.155 www.bbs.com
192.168.2.155 www.test.com

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

[root@localhost ~]# cd /data/www/
[root@localhost www]# mkdir www.oa.com
[root@localhost www]# mkdir www.bbs.com
[root@localhost www]# mkdir www.test.com
[root@localhost www]# echo www.oa.com > www.oa.com/index.html
[root@localhost www]# echo www.bbs.com > www.bbs.com/index.html
[root@localhost www]# echo www.test.com > www.test.com/index.html

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

3.5 Bearbeiten Sie die Konfigurationsdatei für jeden Domänennamen (Konfigurationsdatei für jeden virtuellen Host).

[root@localhost conf]# cd vhost/
[root@localhost vhost]# cat www.oa.com.conf
 Server {
  hören Sie 192.168.2.155:80;
  Servername www.oa.com;

  Zugriffsprotokoll /data/logs/www.oa.com.log main;
  Fehlerprotokoll /data/logs/www.oa.com.error.log;

  Standort / {
   Stammverzeichnis /data/www/www.oa.com;
   Index Index.html Index.htm;
  }
 }

[root@localhost vhost]# cat www.bbs.com.conf
 Server {
  hören Sie 192.168.2.155:80;
  Servername www.bbs.com;

  Zugriffsprotokoll /data/logs/www.bbs.com.log main;
  Fehlerprotokoll /data/logs/www.bbs.com.error.log;

  Standort / {
   Stammverzeichnis /data/www/www.bbs.com;
   Index Index.html Index.htm;
  }
 }

[root@localhost vhost]# cat www.test.com.conf
 Server {
  hören Sie 192.168.2.155:80;
  Servername www.test.com;

  Zugriffsprotokoll /data/logs/www.test.com.log main;
  Fehlerprotokoll /data/logs/www.test.com.error.log;

  Standort / {
   Stammverzeichnis /data/www/www.test.com;
   Index Index.html Index.htm;
  }
 }

[root@localhost vhost]# cat /data/www/www.oa.com/index.html
www.oa.com
[root@localhost vhost]# cat /data/www/www.bbs.com/index.html
www.bbs.com
[root@localhost vhost]# cat /data/www/www.test.com/index.html
www.test.com

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

[root@localhost /]# mkdir -p /data/logs
[root@localhost /]# touch /data/logs/www.oa.com.log
[root@localhost /]# touch /data/logs/www.oa.com.error.log
[root@localhost /]# touch /data/logs/www.bbs.com.log
[root@localhost /]# touch /data/logs/www.bbs.com.error.log
[root@localhost /]# touch /data/logs/www.test.com.log
[root@localhost /]# touch /data/logs/www.test.com.error.log
[root@localhost /]# ls /data/logs/
www.oa.com.error.log www.bbs.com.error.log www.test.com.error.log
www.oa.com.log www.bbs.com.log www.test.com.log

3.7 Testen Sie die Konfigurationsdatei, bevor Sie nginx starten

[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

3.8 Testdateien

[root@localhost vhost]# curl http://www.oa.com
www.oa.com
[root@localhost vhost]# curl http://www.bbs.com
www.bbs.com
[root@localhost vhost]# curl http://www.test.com
www.test.com

Anhang: Probleme bei der Konfiguration

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

[root@localhost ~]# curl http://www.oa.com
curl: (7) Verbindung zu www.oa.com:80 fehlgeschlagen; Verbindung abgelehnt

Lösung:

Überprüfen Sie, ob Nginx auf dem entsprechenden Port lauscht.

[root@localhost ~]# 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.155:80 0.0.0.0:* HÖREN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* HÖREN
tcp 0 0 0.0.0.0:22 0.0.0.0:* HÖREN
tcp 0 0 127.0.0.1:25 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. Fügen Sie beim Konfigurieren der virtuellen Hostdatei die abhörende IP-Adresse hinzu. Jede Konfigurationsdatei des virtuellen Hosts ist gleich.

hören Sie 192.168.2.155:80;

2. Starten Sie den Server nach Abschluss der Konfiguration 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:
  • So richten Sie virtuelle Hosts und angegebene Zugriffspfade in Nginx ein
  • Beispiel für die Einrichtung eines virtuellen Nginx-Hosts (Konfiguration mehrerer Websites)
  • Detaillierte Erläuterung des Konfigurationsbeispiels für einen virtuellen Nginx-Host
  • Detaillierte Schritte zum Konfigurieren virtueller Hosts in nginx
  • Detaillierte Analyse des virtuellen Nginx-Hosts
  • Zusammenfassung einiger unpopulärer Erkenntnisse über virtuelle Hosts in Nginx

<<:  Vue implementiert Drag-Fortschrittsbalken

>>:  Ein einfaches Beispiel für die MySQL-Suche nach Daten im Umkreis von N Kilometern

Artikel empfehlen

Detaillierte Schritte zur Installation von Nginx unter Linux

1. Nginx-Installationsschritte 1.1 Offizielle Web...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.19 (Win10)

Detailliertes Tutorial zum Herunterladen und Inst...

Eine kurze Diskussion über die häufig verwendeten APIs der VUE uni-app

Inhaltsverzeichnis 1. Routing und Seitensprung 2....

JS-Implementierung eines Karussellbeispiels

In diesem Artikel wird der spezifische JS-Code zu...

Detailliertes Tutorial zur Installation von mysql-8.0.20 unter Linux

** Installieren Sie mysql-8.0.20 unter Linux ** U...

Javascript Blob-Objekt zum Erzielen eines Dateidownloads

Inhaltsverzeichnis veranschaulichen 1. Blob-Objek...

Detaillierte Erklärung der Rolle und des Prinzips des Schlüssels in Vue

Inhaltsverzeichnis 1. Beginnen wir mit dem Fazit ...

So stellen Sie Docker-Containerdaten wieder her

Die Datenbankdaten der Projekttestumgebung sind v...

JavaScript zum Erzielen eines Zeitlupenanimationseffekts

In diesem Artikel wird der spezifische Code für J...

Beispiel zur Erläuterung der Größe einer MySQL-Statistiktabelle

Das Zählen der Größe jeder Tabelle in jeder Daten...