1

我有一个简单的程序,可以在 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依次引用127.0.0.1并停止部署。我可以知道我需要在这里更改主机端口地址吗

4

3 回答 3

3

只是不提供主机:

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

(这意味着“在此端口上接受任何主机上的连接”,而不是您正在尝试的意味着“在此端口上接受 127.0.0.1 上的连接”)

于 2015-04-24T17:10:25.173 回答
0

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

foreman start web

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

建议此链接以进行进一步查询: 在 Heroku 上部署节点应用程序的先决条件?

于 2015-04-24T14:27:44.483 回答
0

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

  1. 正如@hunterloftis 所建议的,我删除了主机名。

  2. 更重要的是缺少Procfile,所以添加并部署成功

于 2015-04-27T13:17:47.557 回答