2016-06-20 53 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'中被调用。 –

相关问题