错误日志是排查Node.js问题的核心线索,可通过以下方式获取:
logs/app.log),使用tail -f /path/to/app.log实时查看最新错误;启动时重定向输出到文件(如node app.js >> logs/app.log 2>&1 &),便于后续分析。journalctl命令查看与Node.js服务相关的日志(需服务名称,如journalctl -u my-nodejs-app -t);或检查CentOS系统日志(/var/log/messages、/var/log/syslog),获取系统级错误信息。node -v和npm -v,若提示“command not found”,说明未正确安装或路径未配置。PATH环境变量(如export PATH=/usr/local/node/bin:$PATH),并重新打开终端生效;或使用nvm(Node Version Manager)管理多版本(如curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash,再nvm install node)。npm install xxx安装指定模块;或删除node_modules文件夹及package-lock.json文件,再重新运行npm install修复依赖冲突。nodemon),使用npm install -g xxx,并确保全局路径(如/usr/local/lib/node_modules)在PATH中。netstat -tuln | grep 3000查看占用进程,通过kill -9 <PID>终止进程,或修改应用端口(如将3000改为3001)。sudo运行应用(如sudo node app.js),或修改端口为非特权端口(≥1024);长期方案可通过setcap赋予Node.js绑定特权端口的权限(如sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/node)。chmod -R 755 /path/to/directory赋予读写执行权限,或chown -R user:group /path/to/directory修改所有者(如chown -R centos:centos /var/www/app)。top查看CPU、内存使用率(若内存占用过高,可能需要优化代码或增加内存);使用df -h检查磁盘空间(确保/分区有足够剩余空间);使用free -m查看内存使用情况(若内存不足,可调整swappiness值或增加交换分区)。sudo setenforce 0),若问题解决,可修改/etc/selinux/config文件(将SELINUX=enforcing改为SELINUX=disabled)永久禁用,或配置SELinux策略(如audit2allow生成自定义规则)。node inspect app.js启动调试模式,在Chrome浏览器打开chrome://inspect连接,设置断点逐步执行代码,查看变量值和调用栈。.vscode/launch.json文件,配置"type": "node"、"program": "app.js"等参数,通过VS Code的调试面板启动调试,支持条件断点、变量监视等功能。npm run lint(若配置了ESLint)检查代码风格与潜在错误;修复语法错误(如缺少括号、引号)后重新启动应用。console.log输出关键变量值,或在代码中添加debugger语句暂停执行,逐步排查逻辑问题(如异步回调未执行、数据库查询失败)。sudo yum update -y更新CentOS系统包,修复潜在的安全漏洞与兼容性问题。npm outdated查看过时的依赖,运行npm update更新到最新版本(注意检查更新日志,避免破坏性变更)。