2016-06-20 3 views
0

Ich verwende app.listen(PORTNO) zum Ausführen meiner Express-App.Express läuft auf zwei Ports, auch wenn Port angegeben ist

Es läuft auf 127.0.0.1:PORTNO sondern auch auf 127.0.0.1:3000

3000 ist das Standard-Port nicht auf dem Lauf aus der Box auszudrücken.

Warum dieses unerwartete Verhalten?

Ich habe versucht, die env Variable Produktion einstellen und auch http.createServer(app).listen(PORTNO);

ich mit meiner ausdrücklichen App Dateien bin Erzeugung express-generator verwenden.

Ich bin auf einem Windows-Rechner, wenn ihre maßgebenden

UPDATE: ich den Server mit npm start beginnen die bin\www läuft, und es gibt den Port an den Server auszuführen. Dies erklärt jedoch nicht die Bindung an zwei Ports: Der eine, der in app.js angegeben ist, und der andere in bin\www für die gleiche App und die App, auf die beide zugreifen können.

Können Sie das Warum erklären?

+0

Können Sie weitere Details zum Beispiel den Code angeben, wo Sie den Server erstellen. Bitte stellen Sie sicher, dass alle vorherigen Instanzen beendet sind, bevor Sie eine neue Instanz starten, um sicher zu gehen. –

+0

Nur die Frage aktualisiert. Der Code wird mit Express-Generator Skelton Code nur mit geringfügigen Änderungen erzeugt, um den Port zu setzen. Auch ich habe alle Instanzen getötet und versucht – avck

+0

'Express-Generator' nicht' app.listen() 'in' app.js ', also ist es etwas, das später hinzugefügt wurde. – robertklep

Antwort

0

Sie sollten Ihren Server mit dem Knoten Server.js (Dateiname) starten. Versuchen Sie dies, wenn es hilft, da, wenn Sie es mit npm beginnen, es Standardkonfigurationen erhält. Und außerdem wird npm Befehl verwendet, um die Knotenmodule (meistens) zu installieren, anstatt den Server auszuführen.

+0

'Knoten app.js' Exits ohne den Server laufen. Ich habe mich gefragt, warum es passiert, könnten Sie mir erklären warum? – avck

+0

Dies kann passieren, da auf dem zu startenden Port bereits dieselbe Instanz von app.js ausgeführt wird. oder der Port ist bereits mit einer Anwendung verknüpft. Jetzt wissen Sie, dass Ihre app.js nicht funktioniert. Töte alle Instanzen erneut und versuche dann erneut, node app.js auszuführen. Das könnte helfen! –

+1

'Knoten app.js' wird nichts tun, da es ein Modul ist. Wenn Sie sich den Quellcode von 'bin \ www' ansehen, werden Sie sehen, dass' app.js' darin geladen wird und die 'listen' Funktion in' bin \ www' aufgerufen wird. –

Verwandte Themen