Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了尝试将我的第一个node.js应用程序部署到Heroku时,Web dynos一直崩溃大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$foreman start

创建与我的工作应用程序的链接
我有一个名为procfile文件,其中包含:@H_197_9@

web: node server.js

这是我的package.json@H_197_9@

{
  "name": "node-example","version": "0.0.1","dependencies": {
    "express": "3.1.0","jade": "*","socket.io": "*","underscore": "*"
  }
}

所以我开始用“dynos”开始@H_197_9@

$heroku ps:scale web=1
Scaling web dynos... done,Now running 1


$heroku ps
=== web (1X): `node server.js`
web.1: restarTing 2013/09/27 22:10:44 (~ 34s ago)

一会儿@H_197_9@

$heroku ps
=== web (1X): `node server.js`
web.1: crashed 2013/09/27 22:11:49 (~ 10s ago)

关于我从哪里去的任何想法?@H_197_9@

编辑:这是一些日志@H_197_9@

2013-09-27T12:10:47.177359+00:00 heroku[web.1]: StarTing process with command `node server.js`
2013-09-27T12:10:48.381526+00:00 app[web.1]: Server up and running. Go to http://127.0.0.1:8080
2013-09-27T12:10:48.342939+00:00 app[web.1]: info: socket.io started
2013-09-27T12:11:48.499022+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process Failed to bind to $PORT within 60 seconds of launch
2013-09-27T12:11:48.499325+00:00 heroku[web.1]: Stopping process with SIGKILL
2013-09-27T12:11:49.656186+00:00 heroku[web.1]: State changed from starTing to crashed
2013-09-27T12:11:49.643225+00:00 heroku[web.1]: Process exited with status 137

EDI:server.js@H_197_9@

var portx = process.env.PORT;  // This is my addition

var express = require("express"),app = express(),http = require("http").createServer(app),io = require("socket.io").listen(http),_ = require("underscore");

var participants = []

app.set("ipaddr","127.0.0.1");

app.set("port",portX);  // to here

app.set("views",__dirname + "/views");
app.set("view ENGIne","jade");
app.use(express.static("public",__dirname + "/public"));
app.use(express.bodyParser());
app.get("/",function(request,responsE) {

  response.render("index");

});

app.post("/message",responsE) {

  var message = request.body.message;

  if(_.isUndefined(messagE) || _.isEmpty(message.trim())) {
    return response.json(400,{error: "message is invalid"});
  }

  var name = request.body.name;
  io.sockets.emit("incomingmessage",{message: message,name: namE});
  response.json(200,{message: "message received"});
});

io.on("connection",function(socket){

  socket.on("newUser",function(data) {
    participants.push({id: data.id,name: data.namE});
    io.sockets.emit("newConnection",{participants: participants});
  });

  socket.on("nameChange",function(data) {
    _.findWhere(participants,{id: socket.iD}).name = data.name;
    io.sockets.emit("nameChanged",{id: data.id,name: data.namE});
  });

  socket.on("disconnect",function() {
    participants = _.without(participants,_.findWhere(participants,{id: socket.iD}));
    io.sockets.emit("userDisconnected",{id: socket.id,sender:"system"});
  });

});

http.listen(app.get("port"),app.get("ipaddr"),function() {
  console.log("Server up and running. Go to http://" + app.get("ipaddr") + ":" + app.get("port"));
});

现在我得到了类似的错误.@H_197_9@

2013-09-28T02:38:51.301568+00:00 app[web.1]: info: socket.io started
2013-09-28T02:38:51.363825+00:00 app[web.1]: Server up and running. Go to http://127.0.0.1:31707
2013-09-28T02:39:50.974347+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process Failed to bind to $PORT within 60 seconds of launch
2013-09-28T02:39:50.974557+00:00 heroku[web.1]: Stopping process with SIGKILL
2013-09-28T02:39:52.927176+00:00 heroku[web.1]: Process exited with status 137
2013-09-28T02:39:52.945829+00:00 heroku[web.1]: State changed from starTing to crashed

解决方法

如果没有创建服务器的Node代码,我无法确定,但是从日志中看起来你没有正在监听正确的端口.

Heroku为您的应用程序分配一个应用程序必须侦听的端口(设置为“PORT”环境变量).如果你没有在60s内连接到这个端口,它将会杀死你的应用程序,这似乎正在发生的事情.@H_197_9@

更新:事实上,基于你的web.1日志条目,看起来你正试图在端口8080上侦听.我认为这不太可能是Heroku提供的端口.您可以从process.env.PORT获取Heroku提供的端口,然后听取它.@H_197_9@

大佬总结

以上是大佬教程为你收集整理的尝试将我的第一个node.js应用程序部署到Heroku时,Web dynos一直崩溃全部内容,希望文章能够帮你解决尝试将我的第一个node.js应用程序部署到Heroku时,Web dynos一直崩溃所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。