在 CentOS 上调试 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(最基础)node inspect app.js
或(旧写法,仍可用):
node --inspect app.js
默认监听:
ws://127.0.0.1:9229
node inspect app.js
常用命令:
c 继续执行
n 下一行
s 进入函数
o 跳出函数
repl 进入交互式环境
✅ 适合:服务器上快速定位问题
node --inspect=0.0.0.0:9229 app.js
⚠️ 不要用
127.0.0.1,否则远端连不上
地址栏输入:
chrome://inspect
点击:
Configure → 添加你的服务器IP
tcp://服务器IP:9229
然后点击 Inspect
✅ 效果:
--inspect-brknode --inspect-brk=0.0.0.0:9229 app.js
sudo firewall-cmd --add-port=9229/tcp --permanent
sudo firewall-cmd --reload
ps -ef | grep node
kill -USR1 <PID>
Node 会自动开启:
ws://127.0.0.1:9229
然后像上面一样连接即可。
✅ 适合:线上问题排查
| 场景 | 工具 |
|---|---|
| 服务器无 GUI | node inspect |
| 本地开发 | Chrome DevTools |
| VS Code | 内置调试器 |
| 线上问题 | kill -USR1 |
.vscode/launch.json{
"type": "node",
"request": "attach",
"name": "Attach to Remote",
"address": "服务器IP",
"port": 9229,
"localRoot": "${workspaceFolder}",
"remoteRoot": "/opt/app"
}
node --inspect=0.0.0.0:9229 app.js
然后 VS Code Attach 即可。
Error: Cannot connect to runtime
✅ 检查:
--inspect=0.0.0.0sourceMaps: true(TypeScript)CentOS 调试 Node.js 的最佳实践:
- 本地:
node inspect- 远程:
--inspect=0.0.0.0:9229 + Chrome- 线上:
kill -USR1
如果你愿意,可以告诉我:
我可以给你精确到命令级别的调试方案。