Verweist eine domain auf meinem remote-Node-JS-Anwendung?
Ich versuche, herauszufinden, wie genau implementieren Node-JS auf meinem Ubuntu 10.04 LTS server. Gelesen habe ich viele verschiedene blogs und Artikel, in denen mehrere verschiedene Möglichkeiten. Die meisten scheinen veraltet oder nicht wirklich funktionieren, scheint es.
Scheint es, dass die einfachste Lösung ist, etwas zu verwenden, wie für Immer? ...oder Upstart mit Monit oder Supervisor. Ist das richtig?
Eine Sache, die ich immer noch nicht verstehen, ist aber ohne etwas wie Ngnix, wie würde ich eigentlich auf meine domain-Namen (wie example.com), um tatsächlich zeigen Sie auf mein Node-JS-Anwendung und es läuft port?
Vielen Dank für jede Beratung. Ich bin kein Experte, daher bitte entschuldigen Sie meinen Mangel an wissen hier. (Ich versuche mein bestes! 🙂
UPDATE: Der Grund, warum ich diese Frage ist auf meinem server habe ich Ngnix läuft für meine statische/Django-Projekte. Ich bin zu wollen, verwenden Sie die gleichen server für einige Beispiel-Node-JS-Anwendungen ich bin Herumspielen mit. Ich habe den link gefolgt über vhosts und in Verbindung mit Node JS, und das ist gut bis zu einem Punkt, aber ich bin immer noch nicht verstehen, wie ich eine meiner domains zum eigentlich Punkt dieser Knoten-Anwendung auf meinem server?
- Duplikat von single-node-js-http-server-accepting-connections-on-multiple-hostnames NodeJS plain-http-server cann ' T werden gebunden an target-Domäne, aber Sie können Connect middleware.
- Also für mich eine domain (wie example.com) zu meinem Knoten-Anwendung läuft auf meinem server, muss ich verwenden, Verbinden Sie die vhost-middleware? Ich bin immer noch nicht verstehen, wie 'example.com' wissen zu gehen, um die Knoten-Anwendung...
- Ich aktualisiert meine Frage genauer zu sein.
- Kovalev Das ist eine ganz andere Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie trennen den Begriff des domain-namens von der eigentlichen server. Der domain-name Punkte zu einem server. Wenn der browser (oder andere Clients) fragt nach example.com DNS sieht die zugehörige IP-Adresse und leitet der browser den server auf, die IP-Adresse.
Browser wählt dann, welcher port zu senden, die seinen Antrag durch, indem Sie unter der URL suchen. Zum Beispiel, eine Anfrage zum Beispiel.com:345 wird, wählen Sie port-345. Wenn nicht angegeben, wird standardmäßig bei der Verwendung von HTTP, die es verwendet port 80.
Damit der browser geschickt hat, seine Anfrage über port 80. Jetzt, auf Ihrem server, es ist ein Programm hören auf diesen port. Für Sie wäre es nginx. Nginx liest die Anfrage ("ach, Sie suchen index.html") und erzielt wieder den Inhalt, den Sie angefordert.
In Ihrem Szenario, Node.JS ersetzt Nginx. Für Node.JS zu reagieren, wäre es auch hören müssen Sie einen port und entsprechend darauf zu reagieren. Das ist, wo Sie Ihren code ein:
Dies startet einen server, hören auf port 1337. Alle Anfragen gerichtet zum Beispiel.com:1337 wäre, beantwortet diese Node.JS Anwendung mit einem "Hallo Welt".
tl;dr: Ihren domain-Namen bereits Punkte auf Ihrem server. Sie können den Zugriff auf Ihre Anwendung am Beispiel.com:1337, wo 1337 ist Ihr port.
location /blah/ { proxy_pass http://localhost:1337; }
. Grundsätzlich nginx proxies die Anfrage von port 80 auf port 1337. Jetzt können Sie Zugang zu Ihrem Node.JS Anwendung bei example.com/blah.