Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js错误:弹性Beanstalk主机上的EADDRINUSE_Javascript_Node.js_Amazon Elastic Beanstalk - Fatal编程技术网

Javascript Node.js错误:弹性Beanstalk主机上的EADDRINUSE

Javascript Node.js错误:弹性Beanstalk主机上的EADDRINUSE,javascript,node.js,amazon-elastic-beanstalk,Javascript,Node.js,Amazon Elastic Beanstalk,node.js出现以下错误消息: events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:904:11) at Server._listen2 (net.js:1042:14) at Server.wrappedListen2 [as _listen2] (/Users/rakutza/Documents/ParcelPuppy/PP/

node.js出现以下错误消息:

events.js:72 
throw er; // Unhandled 'error' event 
^ 
Error: listen EADDRINUSE 
at errnoException (net.js:904:11) 
at Server._listen2 (net.js:1042:14) 
at Server.wrappedListen2 [as _listen2] (/Users/rakutza/Documents/ParcelPuppy/PP/node_modules/newrelic/lib/instrumentation/core/net.js:16:46) 
at listen (net.js:1064:10) 
at Server.listen (net.js:1138:5) 
at EventEmitter.app.listen (/Users/rakutza/Documents/ParcelPuppy/PP/node_modules/express/lib/application.js:559:24) 
at Object.<anonymous> (/Users/rakutza/Documents/ParcelPuppy/PP/app.js:109:18) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32)
events.js:72
投掷者;//未处理的“错误”事件
^ 
错误:请使用侦听器
在errnoException(net.js:904:11)
在服务器上。\u listen2(net.js:1042:14)
在Server.wrappedListen2[as _listen2](/Users/rakutza/Documents/ParcelPuppy/PP/node_modules/newrelic/lib/instrumentation/core/net.js:16:46)
听(net.js:1064:10)
在Server.listen(net.js:1138:5)
在EventEmitter.app.listen(/Users/rakutza/Documents/ParcelPuppy/PP/node_modules/express/lib/application.js:559:24)
反对。(/Users/rakutza/Documents/ParcelPuppy/PP/app.js:109:18)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
显然,listen()尝试绑定服务器的端口号已经在使用中。如何尝试其他端口或关闭使用此端口的程序

该应用程序正在生产模式下工作,但一旦我将其部署到服务器上,AWS BeanStalk就会崩溃

var slice = Array.prototype.slice;

/**
 * EventEmitter
 */

function EventEmitter() {
  if (!this._events) this._events = {};
}

EventEmitter.prototype.addListener = function(type, listener) {
  if (!this._events[type]) {
    this._events[type] = listener;
  } else if (typeof this._events[type] === 'function') {
    this._events[type] = [this._events[type], listener];
  } else {
    this._events[type].push(listener);
  }
  this._emit('newListener', [type, listener]);
};

EventEmitter.prototype.on = EventEmitter.prototype.addListener;

EventEmitter.prototype.removeListener = function(type, listener) {
  var handler = this._events[type];
  if (!handler) return;

  if (typeof handler === 'function' || handler.length === 1) {
    delete this._events[type];
    this._emit('removeListener', [type, listener]);
    return;
  }

  for (var i = 0; i < handler.length; i++) {
    if (handler[i] === listener || handler[i].listener === listener) {
      handler.splice(i, 1);
      this._emit('removeListener', [type, listener]);
      return;
    }
  }
};

EventEmitter.prototype.off = EventEmitter.prototype.removeListener;

EventEmitter.prototype.removeAllListeners = function(type) {
  if (type) {
    delete this._events[type];
  } else {
    this._events = {};
  }
};

EventEmitter.prototype.once = function(type, listener) {
  function on() {
    this.removeListener(type, on);
    return listener.apply(this, arguments);
  }
  on.listener = listener;
  return this.on(type, on);
};

EventEmitter.prototype.listeners = function(type) {
  return typeof this._events[type] === 'function'
    ? [this._events[type]]
    : this._events[type] || [];
};
var slice=Array.prototype.slice;
/**
*事件发射器
*/
函数EventEmitter(){
如果(!this.\u events)this.\u events={};
}
EventEmitter.prototype.addListener=函数(类型,侦听器){
如果(!this.\u事件[类型]){
此._事件[类型]=侦听器;
}else if(此类型的事件[类型]=“函数”){
此._事件[类型]=[此._事件[类型],侦听器];
}否则{
此.u事件[类型].push(侦听器);
}
这个._emit('newListener',[type,listener]);
};
EventEmitter.prototype.on=EventEmitter.prototype.addListener;
EventEmitter.prototype.RemovelListener=函数(类型,侦听器){
var handler=this.\u事件[类型];
如果(!handler)返回;
if(typeof handler=='function'| | handler.length==1){
删除此项。_事件[类型];
这个._emit('RemovelListener',[type,listener]);
返回;
}
对于(var i=0;i
您的代码中没有任何地方显示您在网络套接字上监听的位置

在任何情况下,对于Beanstalk,都应该使用环境变量
PORT
,可通过
process.env.PORT
访问。如果不这样做,则无法保证使用Beanstalk希望您侦听的端口


Beanstalk实例在Node.js应用程序前面有自己的Nginx代理。无法直接访问您的应用程序。这可能就是您遇到碰撞的原因。

可能有用:谢谢!我如何设置EB的值?这是我的快速配置:/***快速配置。*/应用程序集('port',process.env.port | | 1337)@用户3464679您没有设置它。它是由系统为您设置的。好的。那么,我有什么办法来避免这个问题呢?这是启动我的Express server的代码:/***启动Express server.*/var server=app.listen(app.get('port'),function(){console.log('server在%s模式下侦听端口%d',app.get('port'),app.get('env'));})
app.listen(process.env.PORT)
而不是app.get('PORT')?