2016-06-20 52 views
0

我使用app.listen(PORTNO)來運行我的快車應用程序。快速運行在兩個端口上,即使在指定端口時

它運行在127.0.0.1:PORTNO而且對127.0.0.1:3000

3000是默認的端口號在其運行表現出箱。

爲什麼這種意想不到的行爲?

我已經嘗試設置環境變量對生產和使用也http.createServer(app).listen(PORTNO);

我使用express-generator產生我的快遞應用程序文件。

我如果相關

更新Windows機器上: 我開始使用npm start它運行bin\www服務器,它指定的端口運行服務器。 但是這並不解釋綁定到兩個端口:在app.js中指定的那個端口,以及在bin\www中爲同一個應用指定的端口,並且可以從兩個端口訪問應用。

你能解釋一下爲什麼嗎?

+0

你能提供一些更多的細節,例如你創建服務器的代碼。請確保在開始新實例之前所有先前的實例都已被殺死,以確保無誤。 –

+0

剛剛更新了問題。該代碼生成一個與快遞發電機skelton代碼只是稍作修改,以設置端口。此外,我已經殺死了所有的實例,並試圖 – avck

+0

'express-generator'不放'app.listen()'在'app.js ',所以這是之後添加的內容。 – robertklep

回答

0

您應該使用節點server.js(文件名)來啓動您的服務器。如果它有幫助,試試這個,因爲當你用npm啓動它時會得到默認配置。此外,npm命令用於安裝節點模塊(主要是)而不是運行服務器。

+0

'node app.js'退出而不運行服務器。我想知道爲什麼會發生,你能解釋爲什麼嗎? – avck

+0

可能發生這種情況,因爲您嘗試運行的端口已經運行了app.js的相同實例。或者該端口已經綁定了某些應用程序。所以現在你知道你的app.js不起作用了。再次殺死所有實例,然後再次嘗試運行節點app.js.這可能有幫助! –

+1

'node app.js'由於它是一個模塊而不會執行任何操作。如果你看看'bin \ www'的源代碼,你會看到'app.js'正在被加載,'listen'函數在'bin \ www'中被調用。 –

相關問題