Heroku Web 进程在启动后 60 秒内无法绑定到 $PORT
Posted
技术标签:
【中文标题】Heroku Web 进程在启动后 60 秒内无法绑定到 $PORT【英文标题】:Heroku Web process failed to bind to $PORT within 60 seconds of launch 【发布时间】: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);
我也看到其他问题有相同的错误,但没有答案适合我
【问题讨论】:
【参考方案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 + "!); ); `以上是关于Heroku Web 进程在启动后 60 秒内无法绑定到 $PORT的主要内容,如果未能解决你的问题,请参考以下文章
Heroku Web 进程在启动后 60 秒内无法绑定到 $PORT
错误 R10(启动超时)-> Web 进程在启动后 60 秒内无法绑定到 $PORT - Heroku
Node.js 和 Heroku 错误:Web 进程在启动后 60 秒内无法绑定到 $PORT
Heroku 节点 js 部署问题:Web 进程在启动后 60 秒内无法绑定到 $PORT
将 Webpack 应用程序部署到 Heroku 时,“Web 进程在启动后 60 秒内无法绑定到 $PORT”
Heroku discord bot 托管错误 R10(启动超时)-> Web 进程在启动后 60 秒内无法绑定到 $PORT