1. Ändern Sie httpd.conf
Öffnen Sie das appserv-Installationsverzeichnis, suchen Sie die Datei httpd.conf und entfernen Sie das #-Zeichen vor den folgenden beiden Textzeilen.
[einfache] Ansicht
Klarschrift
- #LoadModule vhost_alias_modulemodules/mod_vhost_alias.so Virtuelle Hostfunktion.
[einfache] Ansicht
Klarschrift
#Include conf/extra/httpd-vhosts.conf
- Diese Zeile entfernen Das # bedeutet, dass die Konfiguration des virtuellen Hosts aus der Datei conf/extra/httpd-vhosts.conf
importiert wird. 2. Ändern Sie httpd-vhosts.conf
Öffnen Sie die Datei und sehen Sie sich die Datei an Folgender ähnlicher Inhalt. Die Konfiguration des virtuellen Hosts wird ebenfalls gemäß dem folgenden Inhalt konfiguriert. Der Inhalt wird unten erklärt
[einfache] Ansicht
Klarschrift
NameVirtualHost *:80
- ;VirtualHost *:80> 🎜> ServerAdmin webmaster@dummy-host.www.phpStudy.net
- DocumentRoot „C:/Program Files/ Apache2/docs/dummy-host.www.phpStudy.net "
- ServerName dummy-host.www.phpStudy.net
- ServerAlias www .dummy-host.www.phpStudy.net
- ErrorLog "logs/dummy-host.www.phpStudy.net-error.log"
- CustomLog "logs/dummy-host.www .phpStudy.net-access.log" common
-
- NameVirtualHost *:80
Hinweis 1: NameVirtualHost gibt die IP-Adresse oder den Domänennamen an, die vom virtuellen Host verwendet werden. Am besten verwenden Sie jedoch die IP-Adresse. NameVirtualHost ist eine notwendige Anweisung, wenn domänennamenbasierte virtuelle Hosts verwendet werden. Es können mehrere NameVirtualHost definiert werden. - Hinweis 2: Alle Anfragen, die mit der NameVirtualHost- oder -Tag-Definition übereinstimmen, werden als virtueller Host verarbeitet und vom Hauptserver ignoriert. Bei Anfragen, bei denen NameVirtualHost definiert ist, aber das Tag nicht definiert ist, kann der Server den entsprechenden virtuellen Host nicht finden und ihn nicht verarbeiten. Daher muss jeder durch NameVirtualHost definierte Parameter mit mindestens einem übereinstimmen. Hinweis 3: Wenn Sie NameVirtualHost oder auf *:80 setzen, werden alle Anfragen für Port 80 vom virtuellen Host verarbeitet und die Anfragen werden basierend auf dem Domänennamen an einen bestimmten virtuellen Host weitergeleitet. Wenn eine Anfrage von Port 80 vorliegt und der angeforderte Domänenname nicht als virtueller Host konfiguriert ist, verweist er auf den ersten virtuellen Host. Auf diese Weise kann der Hauptserver keine Anfragen von Port 80 empfangen. Zu diesem Zweck muss auch ein virtueller Host für den Hauptserver konfiguriert werden.
E-Mail des ServerAdmin-Administrators- DocumentRoot Website-Verzeichnis (Hinweis: Wenn der Pfad im Website-Verzeichnis Leerzeichen enthält, fügen Sie bitte an beiden Enden des Pfads doppelte Anführungszeichen ein)
ServerName an gebunden werden Angegebener Domänenname (erforderlich)
ServerAlias Der Alias des virtuellen Hosts, der gebunden werden soll. (Optional, wenn mehrere Domänennamen vorhanden sind, trennen Sie diese durch Leerzeichen. Wenn nicht, entfernen Sie die Zeile.) unterstützt zwei Platzhalter * und ?, z. B. *.abc.com, das eine beliebige abc.com-Sekunde darstellt Auf Domänennamen auf -Ebene kann zugegriffen werden.
CustomLog Benutzerprotokolldatei (optional, entfernen Sie diese Zeile, wenn nicht benötigt)
ErrorLog Fehlerprotokoll (optional, entfernen Sie diese Zeile, wenn nicht benötigt)
Virtueller Host basierend auf IP-Adresse
[einfache] Ansicht
Klarschrift
🎜>
Servername www.example.com
-
[einfache] Ansicht
Klarschrift
-
🎜> ServerName www.example.org
-
Für jeden virtuellen Host können mehrere IPs definiert werden, getrennt durch Leerzeichen- Gemischte Verwendung verschiedener virtueller Hosts
[einfache] Ansicht
Klarschrift
Listen 80
- Listen 81 🎜>NameVirtualHost 172.20 .30.40
- 🎜>
- DocumentRoot /www/example1
- ServerName www.example.com
-
DocumentRoot /www/example2 ServerName www.example.org - NameVirtualHost 172.20.30.40:81
-
- >
- DocumentRoot /www/example3
- Servername www.example3.net
- >
-
# IP-basiert
-
🎜>
DocumentRoot /www/example4 Servername www.example4.edu Root / www/example5 ServerName www.example5.gov - Probleme bei der Verwendung gemischter virtueller Hosts 1. Gemischte virtuelle Hosts können wie folgt verstanden werden: Alle durch eine Zeile der NameVirtualHost-Anweisung definierten virtuellen Hosts sind eine Gruppe; diese Gruppe befindet sich auf derselben Ebene wie ein IP-basierter virtueller Host. Das heißt, die gesamte durch eine Zeile von NameVirtualHost definierte Gruppe wird als IP-basierter virtueller Host betrachtet.
2. Der vom virtuellen Host angegebene Port muss durch Listen definiert werden. Wenn der virtuelle Host keinen Port angibt, wird angenommen, dass es sich um Port 80 handelt. Wenn NameVirtualHost * auf diese Weise definiert ist, bezieht sich dies auf alle definierten Ports für alle Adressen. - 3. Spezifischere Adressdefinitionen werden bevorzugt. Beispielsweise definiert die NameVirtualHost-Direktive *:80 und ein IP-basierter virtueller Host ist als 192.168.0.1:80 definiert. Wenn zu diesem Zeitpunkt eine Anfrage für 192.168.0.1:80 vorliegt, wird die Anfrage an 192.168 weitergeleitet. 0,1:80 zuerst definierter virtueller Host. Um Verwirrung zu vermeiden, definieren Sie keine Adressbereiche, die sich überschneiden oder einander einschließen. 4. Ein virtueller Host kann sowohl domänennamenbasiert als auch IP-basiert sein. Wie der letzte virtuelle Host im vorherigen Beispiel. Auf diese Weise werden Anfragen, die beide Definitionen erfüllen, an denselben virtuellen Host weitergeleitet. Manchmal ist dies möglich, wenn zwischen internem und externem Netzwerkzugriff auf einen virtuellen Host unterschieden wird, da sich Anforderungen aus dem internen Netzwerk möglicherweise von Anforderungen aus dem externen Netzwerk unterscheiden, diese jedoch auf denselben virtuellen Host verweisen müssen.
Verwenden Sie den virtuellen Host „_default_“- Dieser virtuelle Host kann als IP-basierter virtueller Host verstanden werden
- [einfache] Ansicht
Klarschrift
🎜>-
>Dieser virtuelle Host übernimmt Anfragen, die nicht mit der IP und dem Port anderer virtueller Hosts übereinstimmen. In diesem Fall verarbeitet der Hauptserver jedoch keine Anfragen. Daher ist es notwendig, den Hauptserver als virtuellen Host zu konfigurieren.
- Ein virtueller Host, auf dem der lokale Maschinenagent auf anderen Maschinen läuft
[einfache] Ansicht
Klarschrift
- 🎜> ProxyPass /foo/no ! /foo http://192.168.111.2
- ProxyPass Reverse /foo http: //192.168.111.2
- ServerName hostname.example.com
-
-
1. Dies ist zunächst ein IP-basierter virtueller Host, der empfängt und verarbeitet Anfragen für die IP-Adresse 158.29.33.248.
- 2. ProxyPass /foo http://192.168.111.2 wandelt die Anfrage für http://158.29.33.248/foo in eine Proxy-Anfrage um, die auf http://192.168 verweist .
- 3. ProxyPass /foo/no! Dies muss vor der normalen Proxy-Direktive platziert werden.
4. ProxyPreserveHost On bedeutet, dass die Host-Informationen der ursprünglichen Anfrage an den Proxy-Computer übertragen werden.
5. ProxyPassReverse /foo http://192.168.111.2 kann sicherstellen, dass die Anforderungs-URL nach der Umleitung auf andere Computer konsistent auf diesem Computer verarbeitet werden kann. Weitere Informationen finden Sie im Handbuchabschnitt zum Reverse-Proxy.
6. Das Gleiche gilt für virtuelle Hosts, die auf Domänennamen basieren. Egal um welche Art von virtuellem Host es sich handelt, er verarbeitet nur die Anfragen, die er verarbeitet.
KonfigurationsbeispielAnforderung 1:
Dies ist ein IP-basiertes Beispiel für die Verwendung eines virtuellen Hosts
Eine Projektdatenanwendung, um Domänennamen zu verhindern Auflösungsprobleme Dadurch kann kein normaler Zugriff erreicht werden, daher wird IP für den Zugriff auf die Schnittstelle verwendet. Zum Beispiel: http://61.122.3.6:8080/ Hier entlang. Die Konfiguration des virtuellen Hosts lautet wie folgt: 1. Fügen Sie unter „Listen 80“ in httpd.conf eine Zeile hinzu. Der Inhalt lautet: „Listen 8080“, also den 8080-Port abhören
2. Konfigurieren Sie die virtuelle Hostkonfiguration
[einfache] Ansicht
Klarschrift
#NameVirtualHost 61.122.3.6:8080 Diese Zeile ist nicht erforderlich. Nach dem Test muss der virtuelle Host basierend auf der IP-Adresse das Element NameVirtualHost nicht festlegen.
>
DocumentRoot „d:/web/openj“
-
-
Das Obige stellt die Konfiguration des virtuellen Hosts Apache2.2 vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren. -
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn