当上传到Heroku时,应用程序崩溃了H10错误代码

问题描述:

我有一个节点应用程序,它在本地运行时没有任何问题,但是当我尝试使用heroku进行部署时,我无法做到这一点。我得到的错误是: 当上传到Heroku时,应用程序崩溃了H10错误代码

2017-05-26T13:37:31.249587+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=engageitvisz.herokuapp.com request_id=e9641b76-0667-44ce-b85a-fb431c1cca2a fwd="31.10.149.171" dyno= connect= service= status=503 bytes= protocol=https
我在我的应用程序中使用了mongoLab,但我将它添加为heroku中的插件。这里是server.js:

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

var databaseUrl = "mongodb://user:[email protected]:37090/questions"; 
var collections = ["questions"]; 
var mongojs = require('mongojs'); 
var db = mongojs(databaseUrl, collections); 

app.set('port', (process.env.PORT || 5002)); 

var bodyParser = require('body-parser'); 
app.use(express.static(__dirname + "/public")); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended: true})); 
app.get('/', function(request, response){ 
    response.send("Hello from server.js"); 
}); 

app.get('/questions', function(request, response){ 
    console.log("I received a GET request for questions"); 

db.questions.find(function(err, docs){ 
    if(err){ 
     response.send(err); 
    } 
    response.json(docs); 
    }) 
}); 
app.post('/questions', function(request, response){ 
    console.log("I received a POST request for questions"); 

}); 

app.listen(app.get('port'), function(){ 
    console.log('Server running on port', app.get('port')); 
}); 

Procfile:

web: node server.js 

的package.json:

{ 
    "name": "engageit", 
    "version": "1.0.0", 
    "description": "EngageIt visualization", 
    "main": "server.js", 
    "dependencies": { 
    "express": "4.13.1" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "https://github.com/VitezKoja92/EngageItVisz.git" 
    }, 
    "scripts": { 
    "test": "test", 
    "start": "node server.js", 
    "heroku-prebuild": "echo This runs before Heroku installs your dependencies.", 
    "heroku-postbuild": "echo This runs afterwards." 
    }, 
    "author": "Danilo Krasic", 
    "license": "ISC", 
    "keywords": [ 
    "node", 
    "heroku", 
    "express" 
    ], 
    "engines": { 
    "node": "7.7.2" 
    } 
} 

请让我知道如果您有任何建议,因为我想解决这个问题数小时。

  • 首先去部署herkou
  • 然后去git的轮毂和叉解析服务器,例如
  • 然后再次去你的Heroku的仪表板和您的应用程序链接到您的git的承诺

这看起来像是从MongoLab直接获得的URI连接字符串。尽量确保你从MongoLab Heroku的插件通过在项目按Heroku的帮助页面的根目录下输入以下命令得到正确的连接URI:

heroku config:get MONGODB_URI

我面临同样的问题: Heroku nodejs app deployment, app crash
但没有在*上找到任何解决方案,从日志中我无法找到导致崩溃的原因。
最后我删除应用程序从Heroku的藏汉从我的本地系统中删除Procfile, 创建的应用程序与随机名称的Heroku(的Heroku创建)和使用Git推一个文件夹,Heroku的不Procfile和Heroku的重新启动,它为我工作。