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 Analyse des Flex-Layouts in CSS3

Das Flexbox-Layoutmodul soll eine effizientere Mö...

Miniprogramm zur Implementierung des kompletten Einkaufswagens

Das Miniprogramm implementiert einen vollständige...

Verstehen Sie alle Aspekte von HTTP-Headern mit Bildern und Text

Was sind HTTP-Header HTTP ist eine Abkürzung für ...

So zeigen Sie historische Befehle in Linux an und führen sie aus

Historische Befehle anzeigen und bestimmte Befehl...

Stimmt es, dass der Webdesign-Stil umso besser ist, je einfacher er ist?

Ursprüngliche Adresse: http://www.webdesignfromsc...

Das WeChat-Applet wählt die Bildsteuerung

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierter Prozess der Bereitstellung von Docker für WSL2 in IDEA

Die lokale Umgebung ist Windows 10 + WSL2 (Ubuntu...

Erfahren Sie mehr über die Verwendung regulärer Ausdrücke in JavaScript

Inhaltsverzeichnis 1. Was ist ein regulärer Ausdr...

Detaillierte Analyse der MySQL-Abfrageabfangung

Inhaltsverzeichnis 1. Abfrageoptimierung 1. MySQL...

Grafisches Tutorial zur Installation von VMware15.5 und Ubuntu20.04

1. Vorbereitung vor der Installation 1. Laden Sie...

Lassen Sie uns im Detail darüber sprechen, wie der NodeJS-Prozess beendet wird

Inhaltsverzeichnis Vorwort Aktiver Rückzug Ausnah...

So erstellen Sie eine Datenbank in Navicat 8 für MySQL

Beim Entwickeln einer Website müssen Sie häufig e...