在 CentOS 上排查 Node.js 报错,一般可以按下面几个步骤来:
node app.js
或
npm start
看控制台输出的错误(类型、行号、堆栈)。
Cannot find module → 依赖没装EADDRINUSE → 端口被占用SyntaxError → 代码语法问题Permission denied → 权限不足sudo journalctl -u your-node-service -f
ls /var/log/
cat /var/log/messages
node -v
npm -v
which node
如果是多版本(nvm),确认当前使用版本是否正确。
sudo chown -R $USER:$USER /your/project
sudo setcap cap_net_bind_service=+ep $(which node)
rm -rf node_modules package-lock.json
npm install
pm2 logs
pm2 list
nohup node app.js > logs.txt 2>&1 &
cat logs.txt
node --inspect app.js
或
DEBUG=* node app.js
getenforce
sudo setenforce 0 # 临时关闭测试
sudo firewall-cmd --list-all
如果你能贴一下具体报错内容或运行方式(直接跑 / systemd / PM2),我可以帮你更精准定位。