Nginx kann als Reverse-Proxy-Server fungieren, der wie ein Projektmanager arbeitet. Wenn er eine Anfrage erhält, analysiert er sie und leitet die Anfrage an vorgelagerte Stellen (Projektmitglieder) weiter oder bearbeitet sie selbst. Nginx hat zwei Möglichkeiten, eine Anfrage zu bearbeiten, je nachdem, wie er konfiguriert ist.
-
das Ersuchen zustellen
-
Weiterleitung der Anfrage an einen anderen Server
server{
server_name mydomain.example sub.mydomain.example;
location /{
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_pass_request_headers on;
}
location /static/{
alias /my/static/files/path;
}
}
Server die Anfrage
Bei dieser Konfiguration wird die URL der Anfrage mydomain.example/static/myjs.js
gibt es die myjs.js
Datei in /my/static/files/path
Ordner. Wenn Sie Nginx so konfigurieren, dass es statischer Dateien konfigurieren, bearbeitet es die Anfrage selbst.
Weiterleitung der Anfrage an einen anderen Server
Wenn die URL der Anfrage mydomain.example/dothis
Nginx leitet die Anfrage an http://127.0.0.1:8000
. Der Dienst, der auf dem Port localhost 8000 Port läuft, empfängt die Anfrage und gibt die Antwort an Nginx zurück, und Nginx gibt die Antwort an den Client zurück.
Wenn Sie den node.js-Server auf dem Port 8000 laufen lassen, leitet Nginx die Anfrage an node.js weiter. Schreiben Sie node.js-Logik und bearbeiten Sie die Anfrage. Das war's, Ihr node.js-Server läuft hinter dem Nginx-Server.
Wenn Sie andere Dienste als Nodejs ausführen möchten, führen Sie einfach einen anderen Dienst wie Django, Flask, PHP auf anderen Ports aus und konfigurieren Sie ihn in Nginx.