NodeJS部署在localhost和其他域之间的混淆?

时间:2015-04-24 14:19:03

标签: node.js heroku port host codeship

我有一个在localhost中执行正常的简单程序。

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

var port = process.env.PORT || 8080;
var host = "127.0.0.1";

var server = app.listen(port, host, function(){
    console.log("Server running in : ",host ," with port no : ",port);
});

尝试使用codeship将其部署到heroku。除了最后一行部署测试命令,即node index.js之外,所有内容都构建完善,而{{1}}又指 127.0.0.1 并停止部署。我可以知道我需要在这里更改主机端口地址

3 个答案:

答案 0 :(得分:2)

只是不提供主持人:

var server = app.listen(port, function() {
  console.log('Server listening on', port);
});

(这意味着,“接受任何主机上的连接,在此端口上”,与您正在尝试的内容相比,“在此端口上接受127.0.0.1上的连接”)

答案 1 :(得分:0)

尝试在Heroku Toolbelt的一部分工头的帮助下在localhost上运行您的应用程序。例如:

foreman start web

您应该会看到您的应用在http://localhost:5000或您在package.json文件中指定的端口上运行。

建议此链接以进一步查询: prerequisites在Heroku上部署节点应用程序?

答案 2 :(得分:0)

我能够通过这些步骤成功托管它

  
      
  1. 根据@ hunterloftis的建议,我删除了主机名。

  2.   
  3. 更重要的是,缺少Procfile,因此添加并成功部署

  4.