我有一个节点应用程序,它在本地运行没有任何问题,但是当我尝试使用 heroku 部署它时,我无法做到这一点。我得到的错误是:
2017-05-26T13:37:31.249587+00:00 heroku[router]: at=error code=H10 desc="App crashed" 方法=GET 路径="/" host=engageitvisz.herokuapp.com request_id=e9641b76-0667-44ce-b85a-fb431c1cca2a fwd="31.10.149.171" dyno= 连接= 服务= 状态=503 字节= 协议=https我正在我的应用程序中使用 mongoLab,但我在 heroku 中将其添加为插件。这是服务器.js:
var express = require('express');
var app = express();
var databaseUrl = "mongodb://user:pass@ds137090.mlab.com: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'));
});
文件:
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"
}
}
如果您有任何建议,请告诉我,因为我正在尝试解决这个问题几个小时。
- 首先去河口部署
- 然后转到 git 集线器并分叉解析服务器示例
- 然后再次转到您的 Heroku 仪表板并将您的应用程序链接到您的 Git 提交
这看起来像是直接从MongoLab获得的URI连接字符串。尝试确保您从MongoLab Heroku插件获得正确的连接URI,方法是根据Heroku帮助页面在项目的根目录中输入以下命令:
heroku config:get MONGODB_URI