Heim Backend-Entwicklung PHP-Tutorial Detaillierte Erläuterung der Konfigurationsmethode von Nginx und Apache, die Port 80 gemeinsam nutzen

Detaillierte Erläuterung der Konfigurationsmethode von Nginx und Apache, die Port 80 gemeinsam nutzen

May 05, 2018 am 09:57 AM
apache nginx 端口

In diesem Artikel wird hauptsächlich die Konfigurationsmethode für die gemeinsame Nutzung von Port 80 durch Nginx und Apache vorgestellt. Wenn Sie möchten, dass Nginx nicht mit Apache um Port 80 konkurriert, finden Sie am Ende dieses Artikels natürlich auch die Methode zur Änderung des Nginx-Ports Bei Bedarf kann darauf verwiesen werden

Eine typische Nginx + Apache-Anwendungslösung kann darin bestehen, dass Nginx Port 80 belegt, statische Anforderungen filtert und dann dynamisch einen Proxy an Apache-Port 8080 anfordert. Der Vorteil des Proxy-Reverse-Proxys besteht darin, dass beim Zugriff immer Port 80 verwendet wird und Besucher keinen Unterschied bemerken.

Aber einige Anwendungen sind tatsächlich sehr „intelligent“ und erkennen, dass der Port, auf dem sich Apache befindet, 8080 ist, und fügen zu allen relevanten Hyperlinks Folgendes hinzu: 8080. Kann ich trotzdem normalen Zugriff haben, wenn es bereits tot ist? !

Es gibt eine Möglichkeit, dieses Problem zu lösen, nämlich Apache auf Port 80 auszuführen. Derselbe Server hat Nginx und Apache, zwei httpd-Dienste, beide sind 80, wird es keinen Konflikt geben?

Das Folgende ist ein Beispiel.
Ändern Sie

server {
 listen 80;
 server_name www.webyang.net;
}
Nach dem Login kopieren

in der Konfiguration von Nginx.conf.

server {
 listen 192.168.3.3:80;  #指定Nginx只占用某个IP的80端口。
 listen 192.168.10.3:80;  #如果你服务器中有多个IP,还可以指定多个。
 server_name www.webyang.net;
}
Nach dem Login kopieren

Wenn Sie mehrere virtuelle Hosts in Nginx haben, muss jeder einzelne so geändert werden.

Dann ist Apaches httpd.conf
an der Reihe, das Original

Listen 80
Nach dem Login kopieren

in
< zu ändern 🎜>

Listen 127.0.0.1:80
Nach dem Login kopieren

Gibt wie bei Nginx die von Apache belegte IP und den Port an.

Speichern und beenden, Apache neu starten, damit es wirksam wird.
Wenn Sie auch mehrere virtuelle Hosts auf Apache haben. Es besteht keine Notwendigkeit, sie wie bei Nginx einzeln zu ändern, solange sie sich alle auf Port 80 befinden.

Zum Beispiel:


NameVirtualHost *:80
<VirtualHost *:80>
 ServerAdmin hello@abc.com
 DocumentRoot /data/web_server/admin
 ServerName www.webyang.net
</VirtualHost>
Nach dem Login kopieren

Glaubst du, dass alles gut wird? NEIN.

Auf einen solchen Apache kann nur über http://127.0.0.1:80 zugegriffen werden, daher macht es keinen Sinn, dass er Port 80 belegt. Es ist besser, 8080 für Apache und 80 für Nginx zu verwenden.

Wenn Ihr Server zu diesem Zeitpunkt also über mehrere IPs verfügt, können Sie zusätzlich zur Bindung von Apache an 127.0.0.1 auch die IP einer anderen Netzwerkkarte binden, dann ist das Problem gelöst.

Aber die meisten Leute haben nur eine unabhängige IP, daher ist diese Methode für viele eine Fata Morgana.

Ändern Sie eine Idee, Apache ist immer noch Port 8080, ändern Sie die Konfigurationsdatei eines Nginx-Domänennamens

location / {
 try_files $uri @apache;
}
 
location @apache {
 internal;
 proxy_pass http://127.0.0.1:8080;
}
 
location ~ .*.(php|php5)?$ {
 proxy_pass http://127.0.0.1:8080;
}
Nach dem Login kopieren

Zu diesem Zeitpunkt die Domäne Name Alle Aktionen laufen über Apache, einschließlich statischer Dateien.

Es gibt auch viele Leute, die so schreiben:


upstream zend {
 server 127.0.0.1:8080;
}
 
location / {
 proxy_pass  http://zend;
 proxy_redirect   off;
 proxy_set_header  Host $host;
 proxy_set_header  X-Real-IP $remote_addr;
 proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header   X-Scheme $scheme;
}
 
location ~ .*.(php|php5)?$ {
 proxy_pass  http://zend;
 proxy_redirect   off;
 proxy_set_header  Host $host;
 proxy_set_header  X-Real-IP $remote_addr;
 proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header   X-Scheme $scheme;
}
Nach dem Login kopieren

Es ist ungefähr ähnlich.

Änderung des Nginx-Ports
Ändern Sie die Implementierung der Datei nginx.conf. Der Pfad dieser Datei ist unter Linux /usr/local/nginx/conf/nginx.conf und das Installationsverzeichnis confnginx.conf unter Windows.

server {
 listen  80;
 server_name localhost;
 
 ……
}
Nach dem Login kopieren

wird natürlich in


server {
 listen  81;
 server_name localhost;
 
 location / {
 root html;
 index index.html index.htm;
 }
 ……
}
Nach dem Login kopieren

geändert 8080, 8081 kann alles sein, es muss nicht 81 sein, aber stellen Sie sicher, dass iptable den Zugriff auf diesen Port zulässt.

Beachten Sie die Speicherortkonfiguration:

root html; #根目录,相对于安装目录 
index index.html index.htm; #默认主页
Nach dem Login kopieren

Standardmäßig legen Sie die Datei im HTML-Ordner im Installationsverzeichnis ab und können sie verwenden Nginx-Zugriff.

Verwandte Empfehlungen:


Vergleich zwischen Nginx und Apache

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Konfigurationsmethode von Nginx und Apache, die Port 80 gemeinsam nutzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So führen Sie das H5 -Projekt aus So führen Sie das H5 -Projekt aus Apr 06, 2025 pm 12:21 PM

Ausführen des H5 -Projekts erfordert die folgenden Schritte: Installation der erforderlichen Tools wie Webserver, Node.js, Entwicklungstools usw. Erstellen Sie eine Entwicklungsumgebung, erstellen Sie Projektordner, initialisieren Sie Projekte und schreiben Sie Code. Starten Sie den Entwicklungsserver und führen Sie den Befehl mit der Befehlszeile aus. Vorschau des Projekts in Ihrem Browser und geben Sie die Entwicklungsserver -URL ein. Veröffentlichen Sie Projekte, optimieren Sie Code, stellen Sie Projekte bereit und richten Sie die Webserverkonfiguration ein.

Gitee Pages statische Website -Bereitstellung fehlgeschlagen: Wie können Sie einzelne Dateien 404 Fehler beheben und beheben? Gitee Pages statische Website -Bereitstellung fehlgeschlagen: Wie können Sie einzelne Dateien 404 Fehler beheben und beheben? Apr 04, 2025 pm 11:54 PM

GitePages statische Website -Bereitstellung fehlgeschlagen: 404 Fehlerbehebung und Auflösung bei der Verwendung von Gitee ...

Wie löste ich das Problem des JS -Ressourcen -Caching in Enterprise Wechat? Wie löste ich das Problem des JS -Ressourcen -Caching in Enterprise Wechat? Apr 04, 2025 pm 05:06 PM

Diskussion über das JS -Ressourcenausfall von Enterprise Wechat. Bei der Upgrade von Projektfunktionen begegnen einige Benutzer häufig auf Situationen, in denen sie nicht erfolgreich aktualisieren, insbesondere im Unternehmen ...

So setzen Sie die Charaktercodierung auf der Serverseite, um die Bootstrap -Tabelle zu lösen So setzen Sie die Charaktercodierung auf der Serverseite, um die Bootstrap -Tabelle zu lösen Apr 07, 2025 pm 12:00 PM

Um die Charaktercodierung auf der Serverseite festzulegen, um die durchgestellte Bootstrap -Tabelle zu lösen, müssen Sie die folgenden Schritte ausführen: Überprüfen Sie die Server -Zeichencodierung. Bearbeiten Sie die Serverkonfigurationsdatei; Setzen Sie die Zeichenkodierung auf UTF-8; Speichern und starten Sie den Server neu; Überprüfen Sie die Codierung.

SO VERVORTIERUNG DER BOOTRAP -Seite SO VERVORTIERUNG DER BOOTRAP -Seite Apr 07, 2025 am 10:06 AM

Die Vorschau -Methoden von Bootstrap -Seiten sind: Öffnen Sie die HTML -Datei direkt im Browser; Aktualisieren Sie den Browser automatisch mit dem Live-Server-Plug-In. und erstellen Sie einen lokalen Server, um eine Online -Umgebung zu simulieren.

Ich kann MySQL nicht in XAMPP starten Ich kann MySQL nicht in XAMPP starten Apr 08, 2025 pm 03:15 PM

Es gibt viele Gründe, warum XAMPP MySQL nicht startet, einschließlich Portkonflikten, Konfigurationsdateifehlern, nicht genügend Systemberechtigungen, Problemen mit Serviceabhängigkeit und Installationsproblemen. Die Schritte zur Fehlerbehebung lauten wie folgt: 1) Überprüfung von Hafenkonflikten; 2) Konfigurationsdateien prüfen; 3) Systemberechtigungen prüfen; 4) Serviceabhängigkeiten prüfen; 5) MySQL neu installieren. Befolgen Sie diese Schritte und Sie können Probleme finden und beheben, die dazu führen, dass MySQL -Startup fehlschlägt.

Wie konfigurieren Sie NGINX so, dass sie auf die index.html -Datei mit Hash -Wert verweisen? Wie konfigurieren Sie NGINX so, dass sie auf die index.html -Datei mit Hash -Wert verweisen? Apr 05, 2025 am 09:36 AM

Wie konfigurieren Sie NGINX so, dass sie auf die index.html -Datei mit Hash -Wert verweisen? Der generierte Index.html beim Verpacken mit React -Projekt ...

Warum scheitert der statische Export von Next.js, wenn er die Seite nach dem Einsatz auf Nginx erfrischt? Warum scheitert der statische Export von Next.js, wenn er die Seite nach dem Einsatz auf Nginx erfrischt? Apr 04, 2025 pm 03:48 PM

Next.js statisches Exportroutingproblem auf Nginx verwendet Next.js ...

See all articles