Ubuntu Node.js日志中常见的错误代码有哪些
导读:Ubuntu Node.js 日志中常见的错误代码与含义 一 网络与地址相关 EADDRINUSE:地址已被占用,通常是端口被别的进程占用,常见于服务未优雅退出或重复启动。 EADDRNOTAVAIL:地址不可用,例如绑定到本机不存在的...
Ubuntu Node.js 日志中常见的错误代码与含义
一 网络与地址相关
- EADDRINUSE:地址已被占用,通常是端口被别的进程占用,常见于服务未优雅退出或重复启动。
- EADDRNOTAVAIL:地址不可用,例如绑定到本机不存在的 IP。
- ECONNREFUSED:连接被拒绝,目标主机未在对应端口监听。
- ECONNRESET:连接被对端重置,常见于对端异常关闭或超时。
- ECONNABORTED:连接被中止,多见于客户端在握手阶段断开。
- ETIMEDOUT:操作超时,网络往返或后端处理超过设定时限。
- ENOTFOUND:域名未找到,DNS 解析失败。
以上错误码在 Ubuntu 的 Node.js 网络编程(如 http / net / dns / axios / fetch)中非常常见。
二 文件与资源限制相关
- EMFILE:进程打开的文件描述符过多(“Too many open files”),常见于高并发打开文件/套接字、未限制并发 I/O。
- ENFILE:系统级打开文件数达到上限,影响整个系统的新文件/套接字创建。
- ENOENT:没有该文件或目录,路径错误或文件被删除。
- ENOTDIR:路径中某段不是目录,例如把文件路径当作目录使用。
- ENOTEMPTY:目录非空,删除目录前未清空内容。
- ENOMEM:内存不足,无法分配所需内存(如大对象、内存泄漏)。
- ENOSPC:磁盘空间不足,写入失败。
这些多与 fs 操作、日志轮转、静态资源服务、并发爬虫/上传 等场景相关。
三 权限与参数相关
- EACCES:权限被拒绝,常见于绑定低位端口(如 80/443)未以 root 运行,或访问受保护文件/目录。
- EINVAL:无效参数,传入的参数不合法或状态不匹配。
- ENOTSUP:操作不被支持,例如在不支持的系统/环境下调用某 API。
遇到这类错误应优先检查运行用户权限、端口与文件路径、以及 API 使用约束。
四 高频警告与异常(非错误码但常见)
- DeprecationWarning:使用了 Node.js 已弃用的 API(如旧版 Buffer() 构造),建议改用 Buffer.alloc / Buffer.from 并升级依赖。
- UnhandledPromiseRejectionWarning:存在未处理的 Promise 拒绝,务必为每个 Promise 添加 .catch() 或 try/catch,并注册全局监听。
- MaxListenersExceededWarning:事件监听器可能泄漏,检查重复 on(‘event’) 或未 removeListener。
- FATAL ERROR: Reached heap limit / JavaScript heap out of memory:堆内存超限,可通过 –max-old-space-size=4096 临时提升,并排查内存泄漏。
这些提示不会直接终止进程,但意味着潜在稳定性或性能风险。
五 快速排查与修复要点
- 端口占用(如 EADDRINUSE):在 Ubuntu 使用 ss -ntlp | grep :端口 或 netstat -ntlp | grep :端口 定位 PID,确认后 kill ;必要时用 kill -9 (谨慎)。
- 文件描述符过多(EMFILE/ENFILE):先限流并发(如队列/并发控制),再视情况提升系统/进程限制(如 ulimit -n 或系统级 sysctl 调整),并修复资源泄漏。
- 权限问题(EACCES):避免以 root 运行,改用 authbind 或将服务端口改为 > 1024;检查文件/目录权限与所属用户组。
- 内存不足(ENOMEM / heap out of memory):用 –max-old-space-size 临时扩容,配合 clinic / heapdump 等定位泄漏与优化数据结构。
- 未处理 Promise:为所有异步操作添加 catch,并注册 process.on(‘unhandledRejection’) 做兜底日志与告警。
以上命令与做法适用于 Ubuntu 16.04/18.04/20.04/22.04 等常见环境。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Node.js日志中常见的错误代码有哪些
本文地址: https://pptw.com/jishu/786233.html
