【发布时间】:2020-04-08 14:54:40
【问题描述】:
我知道 Heroku 会自动为您的实例分配一个端口号,并且在您定义一个特定的端口号(如“3000”)时不起作用。但是当我尝试更改我的端口号以使用环境变量(如 Heroku 的文档和一些堆栈溢出答案中建议的)时,我总是得到
错误 R10(启动超时)-> Web 进程在启动后 60 秒内未能绑定到 $PORT
该应用程序在本地运行完美,我想知道如何最好地更改我的代码以确保它在 Heroku 上运行:
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
port = 3000,
// hash object to save clients data,
// { socketid: { clientid, nickname }, socketid: { ... } }
chatClients = new Object();
server.listen(port);
以下是我尝试过的一些链接等:
https://devcenter.heroku.com/articles/preparing-a-codebase-for-heroku-deployment(点数 4)
Heroku + node.js error (Web process failed to bind to $PORT within 60 seconds of launch)
https://help.heroku.com/P1AVPANS/why-is-my-node-js-app-crashing-with-an-r10-error
【问题讨论】: