GVKun编程网logo

Heroku + node.js 错误(Web 进程在启动后 60 秒内无法绑定到 $PORT)

3

在本文中,我们将为您详细介绍Heroku+node.js错误的相关知识,并且为您解答关于Web进程在启动后60秒内无法绑定到$PORT的疑问,此外,我们还会提供一些关于(heroku)错误R10启动超

在本文中,我们将为您详细介绍Heroku + node.js 错误的相关知识,并且为您解答关于Web 进程在启动后 60 秒内无法绑定到 $PORT的疑问,此外,我们还会提供一些关于(heroku) 错误 R10启动超时-> Web 进程未能在启动后 60 秒内绑定到 $PORT、Access Port, Trunk Port 和 Hybrid Port、app.set'port',process.env.PORT || 3000; 对象设置^ TypeError:app.set不是函数、Could not resolve placeholder ‘server.port‘ in value ${server.port}的有用信息。

本文目录一览:

Heroku + node.js 错误(Web 进程在启动后 60 秒内无法绑定到 $PORT)

Heroku + node.js 错误(Web 进程在启动后 60 秒内无法绑定到 $PORT)

我有我的第一个 node.js 应用程序(在本地运行良好)-但我无法通过 heroku 部署它(也是第一次使用
heroku)。代码如下。所以不允许我写这么多代码,所以我只想说在本地以及在我的网络中运行代码没有问题。

 var http = require(''http''); var fs = require(''fs''); var path = require(''path''); http.createServer(function (request, response) {    console.log(''request starting for '');    console.log(request);    var filePath = ''.'' + request.url;    if (filePath == ''./'')        filePath = ''./index.html'';    console.log(filePath);    var extname = path.extname(filePath);    var contentType = ''text/html'';    switch (extname) {        case ''.js'':            contentType = ''text/javascript'';            break;        case ''.css'':            contentType = ''text/css'';            break;    }    path.exists(filePath, function(exists) {        if (exists) {            fs.readFile(filePath, function(error, content) {                if (error) {                    response.writeHead(500);                    response.end();                }                else {                    response.writeHead(200, { ''Content-Type'': contentType });                    response.end(content, ''utf-8'');                }            });        }        else {            response.writeHead(404);            response.end();        }    }); }).listen(5000); console.log(''Server running at http://127.0.0.1:5000/'');

任何想法 ?

答案1

小编典典

Heroku 动态地为您的应用程序分配一个端口,因此您不能将端口设置为固定数字。Heroku 将端口添加到环境中,因此您可以从那里拉出它。切换你的听这个:

.listen(process.env.PORT || 5000)

这样,当您在本地测试时,它仍然会监听端口 5000,但它也可以在 Heroku 上运行。

您可以在此处查看有关 Node.js 的 Heroku
文档。

(heroku) 错误 R10启动超时-> Web 进程未能在启动后 60 秒内绑定到 $PORT

(heroku) 错误 R10启动超时-> Web 进程未能在启动后 60 秒内绑定到 $PORT

如何解决(heroku) 错误 R10启动超时-> Web 进程未能在启动后 60 秒内绑定到 $PORT

我是一名不和谐机器人初学者,他想在 Heroku 上 24/7 全天候托管他的 heroku 机器人。 大约之后部署 1 分钟后,出现错误:

  1. 2020-12-28T11:40:54.000493+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process Failed to bind to $PORT within 60 seconds of launch
  2. 2020-12-28T11:40:54.024808+00:00 heroku[web.1]: Stopping process with SIGKILL
  3. 2020-12-28T11:40:54.088413+00:00 heroku[web.1]: Process exited with status 137
  4. 2020-12-28T11:40:54.121927+00:00 heroku[web.1]: State changed from starting to crashed

package.json 中的代码:

  1. {
  2. "name": "mano-county-bot","version": "1.0.0","description": "Bot for Mano County!","main": "index.js","dependencies": {
  3. "bloxlink": "^1.6.0","chalk": "^4.1.0","discord.js": "^12.5.1","figlet": "^1.5.0","noblox.js": "^4.7.3","roblox-js": "^4.0.4","trello-node-api": "0.0.9"
  4. },"devDependencies": {},"scripts": {
  5. "start": "node index.js","test": "echo \\"Error: no test specified\\" && exit 1"
  6. },"author": "Alex_Google214","license": "ISC"
  7. }

是的,我没有使用 express。

我有一段关于引擎的代码

  1. "engines": {
  2. "node": "14.x","npm": "6.x"
  3. },

在删除项目未部署之前。但是在删除后,它部署了,然后我得到了我愿意得到帮助的错误。提前致谢!

解决方法

Dynos

问题就在这里。我启用了 web dyno 并禁用了 Worker。但是后来我禁用了 web dyno 并打开了 Worker 并且它起作用了!

,

您必须在 Procfile 中定义了一个 Web 进程:Web 进程将尝试绑定一个可以通过 HTTPS 访问的端口。如果没有发生这种情况,部署将失败。

Discord 机器人通常在后端工作(无 HTTP 访问):更改您的 Procfile 以使用工作人员。

Access Port, Trunk Port 和 Hybrid Port

Access Port, Trunk Port 和 Hybrid Port

交换机端口有三种工作模式,分别是Access,Hybrid,Trunk。

  • Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;
  • Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;
  • Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。


Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

摘自:

https://blog.csdn.net/JesseYoung/java/article/details/40047749

app.set'port',process.env.PORT || 3000; 对象设置^ TypeError:app.set不是函数

app.set'port',process.env.PORT || 3000; 对象设置^ TypeError:app.set不是函数

如何解决app.set''port'',process.env.PORT || 3000; 对象设置^ TypeError:app.set不是函数

D:\\ Project \\ example \\ app.js:17

app.set(''port'',process.env.PORT || 3000);

TypeError:app.set不是函数

解决方法

我建议所有可能的解决方案,因为您没有提到相关代码

尝试添加

var port = config.PORT || 8081; // set our port

app.listen(port,() => {
console.log(''Magic happens on port '' + port); // shoutout to the user
});

由于尝试进入set端口而出现错误,但必须使用app.listen

还有第二个错误原因可能是您在导出应用程序时做错了

您必须像这样导出应用

module.exports = app;

Could not resolve placeholder ‘server.port‘ in value ${server.port}

Could not resolve placeholder ‘server.port‘ in value ${server.port}

Could not resolve placeholder ‘server.port’ in value “${server.port}”

说明:

这个报错,我百度和csdn没有找到合理的说明

问题在线

springboot项目打war包部署到wify服务器 , 发现项目启动失败 , 报错

image-20211021112236698

思路:

肯定是swagger配置文件报错 , 和springboot的server.port端口有关系

找到对应配置

image-20211021112647157

image-20211021112448854

原因

因为springboot内嵌tomcat容器,但是打war包不依赖于内置的tomcat,所以关于服务器的配置不应该出现在配置文件中





csdn



csdn

https://blog.csdn.net/shaoming314

关于Heroku + node.js 错误Web 进程在启动后 60 秒内无法绑定到 $PORT的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于(heroku) 错误 R10启动超时-> Web 进程未能在启动后 60 秒内绑定到 $PORT、Access Port, Trunk Port 和 Hybrid Port、app.set'port',process.env.PORT || 3000; 对象设置^ TypeError:app.set不是函数、Could not resolve placeholder ‘server.port‘ in value ${server.port}等相关内容,可以在本站寻找。

本文标签: