在 Debian 上排查 JS(JavaScript)日志问题,通常要看运行环境(Node.js 服务端 / 浏览器前端 / 框架如 Electron、Next.js 等)。下面按常见场景给你一套「排错思路 + 实用命令」。
node -v
npm -v
pm2 -v # 如果用 pm2
journalctlnode app.js
错误会直接打印在终端。
常见错误类型:
Cannot find module → 依赖没装EADDRINUSE → 端口被占用SyntaxError → JS 语法错误pm2 logs
pm2 logs appname
pm2 status
pm2 restart appname
查看详细错误:
pm2 show appname
如果 JS 是 systemd 启动:
journalctl -u yourapp.service -f
journalctl -u yourapp.service --since "10 min ago"
console.log('info')
console.error('error')
console.log → stdoutconsole.error → stderr(排错重点)winstonpinobunyan示例(pino):
const pino = require('pino')
const logger = pino()
logger.error({ err }, 'something wrong')
rm -rf node_modules package-lock.json
npm install
ls -l /var/log/yourapp
sudo chown -R user:user /var/log/yourapp
sudo lsof -i :3000
sudo netstat -tunlp | grep 3000
Error: ENOENT: no such file or directory
→ 检查路径是否用 __dirname
如果是 Debian 上的 Web 服务:
Nginx 日志:
tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
1. 看服务状态
pm2 status / systemctl status
2. 看日志
pm2 logs / journalctl -f
3. 本地跑
node app.js
4. 检查依赖 & 端口
npm install
lsof -i :端口
如果你能贴出:
我可以直接帮你定位具体问题。