gpt4 book ai didi

node.js - 当我尝试打开我的网络应用程序(在本地主机上运行)时,Heroku 给出了 503

转载 作者:行者123 更新时间:2023-12-03 00:40:53 26 4
gpt4 key购买 nike

我正在尝试部署到heroku,但即使它在本地主机上运行,​​也会得到503。我很好奇我的服务器是否设置正确,因为我是编程新手。我希望任何人都可以为我指明在哪里查找或提供建议的正确方向,因为我在谷歌上花费了无数个小时,持续了几周的时间。

我的主要问题是我的服务器设置是否正确?我不确定我的监听器是否适用于 heroku,并且我的 .get 在最初设置时用于在本地主机上进行调试。

我的完整项目也可以在这里找到:

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应用程序[web.1]:在Object.Module._extensions..js(module.js:579:10)2017-04-24T20:04:43.755868 + 00:00应用程序[web.1]:在Module.load(module.js:487:32)2017-04-24T20:04:43.755868 + 00:00应用程序[web.1]:在tryModuleLoad(module.js:446:12)2017-04-24T20:04:43.755869 + 00:00应用程序[web.1]:在Function.Module._load(module.js:438:3)2017-04-24T20:04:43.755869 + 00:00应用程序[web.1]:在Module.runMain(module.js:604:10)2017-04-24T20:04:43.755870 + 00:00应用程序[web.1]:运行时(bootstrap_node.js:393:7)2017-04-24T20:04:43.755871 + 00:00应用程序[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 =错误代码= H10 desc =“应用程序崩溃”方法= GET路径=“/”主机=derekdyerdev.herokuapp.com request_id = 609ef253-0a56 -41ac-b877-1fb242f6f4e1 fwd =“69.36.89.218”dyno =连接=服务=状态= 503字节=协议(protocol)= https2017-04-24T20:26:32.319732 + 00:00 heroku [路由器]:at =错误代码= H10 desc =“应用程序崩溃”方法= GET路径=“/favicon.ico”主机= derekdyerdev.herokuapp.com request_id = f2a34e62-9765-

最佳答案

您的 app.js 文件的第 34 行中的括号位于错误的位置。由于该函数是回调,因此它需要位于参数内。

将最后一个 block 更改为:

const server = app.listen(process.env.PORT || 5000, () => {
const port = server.address().port;
console.log(`Express is working on port ${port}`);
});

我还将 Procfile 修改为:

web: node app.js

修改后,我可以在本地运行,并将其部署到我的 Heroku 只是为了测试,它工作正常:)

关于node.js - 当我尝试打开我的网络应用程序(在本地主机上运行)时,Heroku 给出了 503,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43596835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com