我找到了十几种针对Express应用程序的解决方案,并设置了端口来监听.但我有一个不使用Express的应用程序,实际上并没有听任何东西.在成功运行60秒后,我收到一条Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch消息.我怎么能绕过它?谢谢.
fiv*_*ven 34
经过大量的谷歌搜索,我决定npm install express并添加
var express = require('express');
var app     = express();
app.set('port', (process.env.PORT || 5000));
//For avoidong Heroku $PORT error
app.get('/', function(request, response) {
    var result = 'App is running'
    response.send(result);
}).listen(app.get('port'), function() {
    console.log('App is running, server is listening on port ', app.get('port'));
});
这修复了错误,即使我不喜欢添加表达只是为了避免一个错误.如果有人找到了更好的解决方案,请告诉我.
小智 28
如果您的应用程序没有监听任何端口,那么您应该在Procfile中使用其他类型的应用程序,我的意思是在Procfile中你有:
web: node app.js
替换为:
worker: node app.js
"web"类型的应用程序意味着您的应用必须听一些端口
Pil*_*lle 20
另一种方法是使用这些命令将dynos从web(标准设置,无论Procfile中的设置)更改为worker:
heroku ps:scale web=0
heroku ps:scale worker=1
有时Heroku会忽略Procfile中的设置.
| 归档时间: | 
 | 
| 查看次数: | 19117 次 | 
| 最近记录: |