首页主机资讯Ubuntu Node.js日志中常见的错误代码有哪些

Ubuntu Node.js日志中常见的错误代码有哪些

时间2026-01-19 21:23:04发布访客分类主机资讯浏览1057
导读: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
Ubuntu Node.js日志与系统安全有何关联 如何通过Ubuntu Node.js日志排查问题

游客 回复需填写必要信息