我正在尝试部署到 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);
});
日志:
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[路由器]: 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 字节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-
原文由 Derek Dyer 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的
app.js
文件的34
行中的括号位于错误的位置。由于该函数是一个回调,它需要在参数内。将最后一个块更改为:
我还将
Procfile
修改为:在我修改后,我可以在本地运行,我将它部署到我的 Heroku 只是为了测试,它工作正常:)