Ich möchte, dass mehrere Nginx-Instanzen auf meinem Server an separaten Ports ausgeführt werden (z. B. führt ein Benutzer Nginx an Port 2345 und ein anderer Benutzer an Port 2346 aus). Bisher war es mir gelungen, den Server an den angegebenen Ports zu kompilieren und auszuführen. Ich stoße jedoch auf ein seltsames Problem: Wenn ich domain1.com:2345 oder domain2.com:2346 besuche, erhalte ich die richtige (200) Antwort, aber wenn ich domain1.com oder domain2.com besuche (ohne Angabe des Ports) I. bekomme überhaupt keine Antwort.
Jede Hilfe / Anhaltspunkte, um herauszufinden, wie dies eingerichtet werden soll, wäre sehr dankbar.
Listen
Direktive verwenden, um Nginx in verschiedenen Ports abhören zu lassen? Erklären Sie, was genau Sie erreichen möchten.Antworten:
Okay, ich habe eine Lösung gefunden.
Ich habe einen 'Master'-Server als Root auf Port 80 ausgeführt. Von dort aus füge ich Serverblöcke für jeden Server an ihren Ports mit einer proxy_pass-Direktive zum Server hinzu.
Vielleicht gibt es eine elegantere Lösung, aber dies scheint gut zu funktionieren.
quelle
Webbrowser wählen automatisch Port 80 aus, wenn Sie keinen Port angeben. Aus Ihrer Erklärung geht hervor, dass keine der beiden Instanzen Port 80 überwacht.
Möglicherweise möchten Sie stattdessen sowohl domain1.com als auch domain2.com von derselben Nginx-Instanz aus mithilfe virtueller Hosts bereitstellen .
quelle
Wenn Sie mehrere IP-Adressen für Ihren Server haben können, können Sie mehrere Nginx-Instanzen auf Port 80 ausführen, sofern Sie in der
listen
Direktive unterschiedliche IP-Adressen angeben .Ein Beispiel:
In erster Linie:
Auf der anderen Seite
Dies wird jedoch zu einem Schmerz, wenn Sie mehr als nur ein paar Benutzer haben. Auch mehrere öffentliche IP-Adressen sind möglicherweise schwer zu bekommen.
quelle