侦听 Node.js 中的 EADDRNOTAVAIL 错误
listen EADDRNOTAVAIL error in Node.js
我在服务器中安装了Nginx和Node.js。
当我尝试运行我的节点.js文件时,出现错误:
节点.js:201 扔 e;process.nextTick 错误,或第一次报价时的"错误"事件 ^错误:侦听 EADDRNOTAVAIL at errnoException (net.js:614:11) 在 Array.0 (net.js:689:28) 在EventEmitter._tickCallback (节点.js:192:40)
如何解决此问题?
谢谢!
我遇到了这个问题,我认为这是一个端口问题,但事实证明这是一个 IP 问题。
我的HOST
环境变量指向一个静态IP,我的Node服务器正在侦听该地址。在我的路由器回收的某个时候,它开始为我的机器分配一个新的IP,我开始收到你发布的错误。它是通过更改我的服务器正在侦听的地址来修复的。
我的配置:
app.set('port', process.env.PORT || 3000);
app.set('host', process.env.HOST || '0.0.0.0');
http.createServer(app).listen(app.get('port'), app.get('host'), function(){
console.log("Express server listening on port " + app.get('port'));
});
确保您的主机正在撞击您的计算机。无论如何,正如@miltonb建议的那样,环回应该始终有效:
app.set('host', '127.0.0.1');
我认为你需要更多的上下文,比如你的一些代码。我猜你开始在网络服务器或套接字上监听了?基于这个假设,当我在测试服务器上运行基本的 Web 服务器时,我会得到类似的东西,除非我使用 localhost 运行。
events.js:48
throw arguments[1]; // Unhandled 'error' event
^
Error: listen EADDRNOTAVAIL
at errnoException (net.js:670:11)
at Array.0 (net.js:756:28)
at EventEmitter._tickCallback (node.js:190:38)
尝试将 [hostname] 参数更改为本地主机:
var http = require('http');
http.createServer( function ).listen(8000, '127.0.0.1');
我遇到了同样的错误,然后我更改了端口并工作
可能是该节点已经在运行服务器吗?我收到了类似的错误,并在故障排除时发现了这个错误。关闭以前的节点服务器解决了我的问题。
,问题是我写的IP根本不存在:)通常在家里我有一个192.168.x.x
的IP,重新启动后我有一个不同的地址......当我尝试gulp serve
我的应用程序时 - 它有一个带有旧 IP 的配置....
与往常一样,127.0.0.1
可以工作,但是当您想使用其他设备验证您的网站时,您想使用外部 IP 192.168.x.x
......或类似。
我刚刚得到答案!使用以下命令将其恢复:
sudo ifconfig lo0 alias 127.0.0.1 up
让我知道这是否有帮助。
大多数情况下,它将是IP地址或主机名。原因是,node js将其作为启动服务器的关键项。如果存在冲突或不正确的IP地址,则会出现此错误
错误:侦听 EADDRNOTAVAIL
希望这有帮助。
var express = require('express');
var app = express();
app.set('port', process.env.PORT || 3000);
app.set('host', process.env.HOST || 'localhost');
app.listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('host') + ':' + app.get('port'));
});
为我工作。
它也适用于按localhost
和本地 IP 进行调试的通用功能,无需任何更改。
,我有同样的错误,当我检查我的配置时,我发现host=127.0.0.0
引发错误,因为它应该127.0.0.1
而不是127.0.0.0
就我而言,我通过检查目录/任务/选项来修复它
我发现连接.js文件具有不正确的静态IP地址。我只是将其更改为正确的一个,它起作用了。
当"ip addr add i:p:v:6"仍然处于不确定状态或其他东西(刚刚执行/ing)时,也会发生这种情况,并且界面是我认为还没有完全准备好侦听并且仍然忙于添加新的ipv6地址。
使用 execSync [见 https://nodejs.org/api/child_process.html#child_process_child_process_execsync_command_options] 调用"睡眠"暂停 2 秒似乎允许收听不错误错误:收听 EADDRNOTAVAIL。
[我认为这确实是一个错误,我认为在 Ubuntu 上的 NodeJS 7.4.0 中,因为在使用/侦听连接之前的瞬间创建 ipv4 地址不会发生这种情况。
检查您的IP ipconfig
地址并添加任何端口3004
。下面的代码终于对我有用了。如果您想从网络中的其他设备访问此服务器。或者只需将本地主机 ip 设置为127.0.0.1
并从您的设备获取访问权限。
var server = require('http').createServer(app);
server.listen(3004, '192.168.x.x', function () {
console.log("Listening on port 3000!");
});
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- javascript:如何在antlr生成的Lexer中进行错误处理
- 侦听 Node.js 中的 EADDRNOTAVAIL 错误
- Node.js websocket错误“;错误:侦听EADDRNOTAVAIL错误:侦听EADDRNOTAVAIL&qu
- 错误EADDRNOTAVAIL与Heroku nodejs服务器