温馨提示×

centos怎么调试nodejs

小樊
34
2026-08-03 12:30:25
栏目: 编程语言

CentOS 上调试 Node.js,常见方式取决于你是命令行调试远程调试,还是生产环境排查问题。下面按实用场景给你一套完整方案。


一、准备工作(CentOS 上)

1️⃣ 确认 Node.js 已安装

node -v
npm -v

如果没有:

# 使用 NodeSource(推荐)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs

二、使用 node inspect(最基础)

1️⃣ 启动调试模式

node inspect app.js

或(旧写法,仍可用):

node --inspect app.js

默认监听:

ws://127.0.0.1:9229

2️⃣ 在 CentOS 本地调试(没 GUI)

node inspect app.js

常用命令:

c    继续执行
n    下一行
s    进入函数
o    跳出函数
repl 进入交互式环境

✅ 适合:服务器上快速定位问题


三、使用 Chrome 远程调试(强烈推荐)

1️⃣ 启动 Node.js(允许远程)

node --inspect=0.0.0.0:9229 app.js

⚠️ 不要用 127.0.0.1,否则远端连不上


2️⃣ 在本地电脑打开 Chrome

地址栏输入:

chrome://inspect

点击:

Configure → 添加你的服务器IP
tcp://服务器IP:9229

然后点击 Inspect

✅ 效果:

  • 断点
  • 单步调试
  • 查看变量
  • 调用栈

四、生产环境调试(不中断服务)

1️⃣ 使用 --inspect-brk

node --inspect-brk=0.0.0.0:9229 app.js
  • 程序启动即暂停
  • 方便调试初始化逻辑

2️⃣ 防火墙放行(CentOS 常见坑)

sudo firewall-cmd --add-port=9229/tcp --permanent
sudo firewall-cmd --reload

五、调试已运行的 Node 进程(进阶)

1️⃣ 查看进程

ps -ef | grep node

2️⃣ 发送信号开启调试

kill -USR1 <PID>

Node 会自动开启:

ws://127.0.0.1:9229

然后像上面一样连接即可。

✅ 适合:线上问题排查


六、调试工具选择

场景 工具
服务器无 GUI node inspect
本地开发 Chrome DevTools
VS Code 内置调试器
线上问题 kill -USR1

七、VS Code 远程调试(CentOS)

1️⃣ .vscode/launch.json

{
  "type": "node",
  "request": "attach",
  "name": "Attach to Remote",
  "address": "服务器IP",
  "port": 9229,
  "localRoot": "${workspaceFolder}",
  "remoteRoot": "/opt/app"
}

2️⃣ 启动

node --inspect=0.0.0.0:9229 app.js

然后 VS Code Attach 即可。


八、常见错误排查

❌ 连接不上

Error: Cannot connect to runtime

✅ 检查:

  • --inspect=0.0.0.0
  • 防火墙
  • 安全组(云服务器)

❌ 断点不生效

  • 确保源码路径一致
  • 使用 sourceMaps: true(TypeScript)

总结一句话 ✅

CentOS 调试 Node.js 的最佳实践:

  • 本地:node inspect
  • 远程:--inspect=0.0.0.0:9229 + Chrome
  • 线上:kill -USR1

如果你愿意,可以告诉我:

  • ✅ CentOS 版本
  • ✅ Node 版本
  • ✅ 是本地还是线上
  • ✅ 是否使用 PM2 / Docker

我可以给你精确到命令级别的调试方案

0