关于nodejs出现events.js:72的错误

本文记录了在Ubuntu 14.04环境下使用EasyRTC启动server_ssl.js时遇到的端口冲突问题及解决过程。启动过程中出现“listen EADDRINUSE”错误,通过排查发现端口8443被占用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:ubuntu14.04

通过node命令执行server_ssl.js时出现如下错误

root@ubuntu-server:/# node /usr/local/src/easyrtc/server_example/server_ssl.js
info    - EasyRTC: Starting EasyRTC Server (v1.0.13) on Node (v0.10.42)
2017-07-07T10:16:21.999Z - debug   - EasyRTC: Emitting event 'startup'
2017-07-07T10:16:21.999Z - debug   - EasyRTC: Running func 'onStartup'

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:905:11)
    at Server._listen2 (net.js:1043:14)
    at listen (net.js:1065:10)
    at Server.listen (net.js:1139:5)
    at Object.<anonymous> (/usr/local/src/easyrtc/server_example/server_ssl.js:21:10)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

注:我什么也没看不出来,下面的英文我也看不太懂,以下纯属猜测

猜测:1.是不是版本冲突问题   结论:很大概率与版本无关   理由:刚安装时可以顺利执行,在安装了山一样的软件后,回头启动easyrtc时,发现启动失败。不过,可能我中途不小心动了也有可能,确认一下吧。

root@ubuntu-server:/usr/local/src/node-v0.10.42-linux-x64/bin# node --version
v0.10.42

root@ubuntu-server:/usr/local/src/easyrtc/server_example# grep -ir version /usr/local/src/easyrtc

/usr/local/src/easyrtc/api/easyrtc.js: *@version 1.0.13
/usr/local/src/easyrtc/api/easyrtc.js:    this.apiVersion = "1.0.13";

看来版本应该不存在问题

检查一下日志吧,

root@ubuntu-server:/usr/local/src# vim /var/log/syslog   //正常

root@ubuntu-server:/usr/local/src# find /usr/local/src/node-v0.10.42-linux-x64 -name "*log*"   //查看node里面的日志
/usr/local/src/node-v0.10.42-linux-x64/lib/node_modules/npm/node_modules/npmlog   //目录
/usr/local/src/node-v0.10.42-linux-x64/lib/node_modules/npm/node_modules/npmlog/log.js   //脚本
/usr/local/src/node-v0.10.42-linux-x64/lib/node_modules/npm/node_modules/request/node_modules/hawk/images/logo.png    //二进制文件

我可能用错了找日志的方法,easyrtc软件用相同的方法检查了日志,未发现问题。

通过百度得知,可能是端口冲突问题

root@ubuntu-server:/usr/include/nodejs# vim /usr/local/src/easyrtc/server_example/server_ssl.js   //文档中出现了8443端口,

httpApp).listen(8443);

root@ubuntu-server:/usr/include/nodejs# netstat -anlp | grep 8443   //通过netstat命令发现,端口8443已经被占用了,终于找到了报错的原因
tcp6       0      0 :::8443                 :::*                    LISTEN      32380/java

将端口8443修改或杀死占用该端口的程序,便可以顺利执行了。


PS D:\Desktop\EAP本地\EAPAdmin\ADM_Client> npm install Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs' TypeError: Cannot read property 'get' of undefined at errorMessage (E:\nodejs\node_modules\npm\lib\utils\error-message.js:38:39) at errorHandler (E:\nodejs\node_modules\npm\lib\utils\error-handler.js:201:13) at E:\nodejs\node_modules\npm\bin\npm-cli.js:78:20 at cb (E:\nodejs\node_modules\npm\lib\npm.js:225:22) at E:\nodejs\node_modules\npm\lib\npm.js:263:24 at E:\nodejs\node_modules\npm\lib\config\core.js:81:7 at Array.forEach (<anonymous>) at E:\nodejs\node_modules\npm\lib\config\core.js:80:13 at f (E:\nodejs\node_modules\npm\node_modules\once\once.js:25:25) at afterExtras (E:\nodejs\node_modules\npm\lib\config\core.js:171:20) E:\nodejs\node_modules\npm\lib\utils\error-handler.js:97 var doExit = npm.config.loaded ? npm.config.get('_exit') : true ^ TypeError: Cannot read property 'loaded' of undefined at exit (E:\nodejs\node_modules\npm\lib\utils\error-handler.js:97:27) at process.errorHandler (E:\nodejs\node_modules\npm\lib\utils\error-handler.js:216:3) at process.emit (events.js:311:20) at process._fatalException (internal/process/execution.js:164:25) Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs' TypeError: Cannot read property 'get' of undefined at errorMessage (E:\nodejs\node_modules\npm\lib\utils\error-message.js:38:39) at errorHandler (E:\nodejs\node_modules\npm\lib\utils\error-handler.js:201:13) at E:\nodejs\node_modules\npm\bin\npm-cli.js:78:20 at cb (E:\nodejs\node_modules\npm\lib\npm.js:225:22) at E:\nodejs\node_modules\npm\lib\npm.js:263:24 at E:\nodejs\node_modules\npm\lib\config\core.js:81:7 at Array.forEach (<anonymous>) at E:\nodejs\node_modules\npm\lib\config\core.js:80:13 at f (E:\nodejs\node_modules\npm\node_modules\once\once.js:25:25) at afterExtras (E:\nodejs\node_modules\npm\lib\config\core.js:171:20) E:\nodejs\node_modules\npm\lib\utils\error-handler.js:97 var doExit = npm.config.loaded ? npm.config.get('_exit') : true ^ TypeError: Cannot read property 'loaded' of undefined at exit (E:\nodejs\node_modules\npm\lib\utils\error-handler.js:97:27) at process.errorHandler (E:\nodejs\node_modules\npm\lib\utils\error-handler.js:216:3) at process.emit (events.js:311:20) at process._fatalException (internal/process/execution.js:164:25)
07-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值