【问题标题】:Heroku Web process failed to bind to $PORT within 60 seconds of launchHeroku Web 进程在启动后 60 秒内无法绑定到 $PORT
【发布时间】:2018-11-14 03:19:03
【问题描述】:

我正在制作一个 Angular 应用程序,在本地运行良好,但是当我尝试使用 heroku 部署它时,显示下一个错误:

 Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 

代码如下所示:

const express= require('express'),
path= require('path');

const app =express();

app.use(express.static('./dist/re-mi'));

app.get('/*', (req,res)=>{
res.sendFile(path.join(__dirname, '/dist/myapp/index.html'));
});

var port_number = server.listen(process.env.PORT || 3000);
app.listen(port_number);

我也看到其他问题有相同的错误,但没有答案适合我

【问题讨论】:

    标签: javascript heroku


    【解决方案1】:

    您的port_number 变量似乎设置不正确。如果您的完整代码已发布,则变量server 未在任何地方定义。 那是从线

    var port_number = server.listen(process.env.PORT || 3000);
    

    即使定义了server,server.listen 似乎也不太可能返回它正在侦听的端口号。 我想你会想要:

    var port_number = process.env.PORT || 3000;
    app.listen(port_number);
    

    【讨论】:

    • 您的server 变量是否在文件中的某处定义?我认为该调用 (server.listen) 的行会导致错误,因此 app.listen() 调用不会被执行。我在想,如果你在 app.listen 调用中放置一个回调函数(第二个参数,在 port_number 之后),console.logs 会显示在屏幕上,只是为了确保它正在运行。 ` app.listen(port_number, () => { console.log("API 服务器现在正在监听 PORT " + port_number + "!); }); `
    猜你喜欢
    • 2020-02-10
    • 1970-01-01
    • 2013-03-19
    • 2019-07-12
    • 2014-03-15
    • 2021-02-19
    • 2021-09-08
    • 2016-03-08
    相关资源
    最近更新 更多