Der*_*yer 9 heroku node.js express
我正在尝试部署到heroku,但即使它在localhost上运行,也会获得503.我很好奇我的服务器是否设置正确,因为我比编程更新.我希望任何人都可以指出我在哪里寻找或提供建议的正确方向,因为我已经在谷歌上花费了无数个小时,持续了几个星期.
我的主要问题是我是否正确设置了我的服务器?我不确定我的监听器是否适用于heroku,我的.get用于在初始设置时在localhost上进行调试.
我的完整项目也在这里:
https://github.com/dirkdir/DerekDevSite
var express = require('express');
var app = express();
var path = require('path');
app.use(express.static(path.join(__dirname, 'public')));
app.get('/json', function(req, res) {
console.log("GET the json");
res
.status(200)
.json( {"jsonData" : true} );
});
app.get('/file', function(req, res) {
console.log("GET the file");
res
.status(200)
.sendFile(path.join(__dirname, 'app.js'));
});
var server = app.listen(process.env.PORT || 5000), function() {
var port = server.address().port;
console.log("Express is working on port " + port);
});
Run Code Online (Sandbox Code Playgroud)
日志:
2017-04-24T20:04:43.755866 + 00:00 app [web.1]:在Module._compile(module.js:542:28)2017-04-24T20:04:43.755867 + 00:00 app [web. 1]:在Object.Module._extensions..js(module.js:579:10)2017-04-24T20:04:43.755868 + 00:00 app [web.1]:在Module.load(module.js: 487:32)2017-04-24T20:04:43.755868 + 00:00 app [web.1]:at tryModuleLoad(module.js:446:12)2017-04-24T20:04:43.755869 + 00:00 app [ web.1]:在Function.Module._load(module.js:438:3)2017-04-24T20:04:43.755869 + 00:00 app [web.1]:在Module.runMain(module.js:604 :10)2017-04-24T20:04:43.755870 + 00:00 app [web.1]:运行时(bootstrap_node.js:393:7)2017-04-24T20:04:43.755871 + 00:00 app [web .1]:在启动时(bootstrap_node.js:150:9)2017-04-24T20:04:43.846556 + 00:00 heroku [web.1]:状态从开始变为崩溃2017-04-24T20:26:31.826133 +00:00 heroku [router]:at = error code = H10 desc ="App crashed"method = GET path ="/"host = derekdyerdev.herokuapp.com request_id = 609ef253-0a56-41ac-b877-1fb242f6f4e1 fwd =" 69.36.89.218"dyno = connect = service = status = 503 byt es = protocol = https 2017-04-24T20:26:32.319732 + 00:00 heroku [router]:at = error code = H10 desc ="App crashed"method = GET path ="/ favicon.ico"host = derekdyerdev. herokuapp.com request_id = f2a34e62-9765-
您34将app.js文件的括号放在错误的位置。由于该函数是一个回调,因此它必须位于参数内。
将最后一个块更改为此:
var server = app.listen(process.env.PORT || 5000, function () {
var port = server.address().port;
console.log("Express is working on port " + port);
});
Run Code Online (Sandbox Code Playgroud)
我也将修改为Procfile:
web: node app.js
Run Code Online (Sandbox Code Playgroud)
修改后,我可以在本地运行,然后将其部署到Heroku中只是为了进行测试,所以效果很好:)
| 归档时间: |
|
| 查看次数: |
15256 次 |
| 最近记录: |