在 Debian 上排查 JS(JavaScript)日志,通常分几种场景:
下面按常见排查路径给你一套实用方法。
ps aux | grep node
node xxx.js → Node.js 服务pm2 logsjournalctlnode app.js
前台日志直接看终端。
如果是后台运行:
nohup node app.js > app.log 2>&1 &
tail -f app.log
pm2 logs
pm2 logs app_name
pm2 list
pm2 describe app_name
查看错误:
pm2 logs --err
systemctl status mynode.service
journalctl -u mynode.service -f
journalctl -u mynode.service --since "10 min ago"
Cannot find moduleEADDRINUSE(端口被占用)SyntaxErrorUnhandledPromiseRejection快速看:
grep -i error app.log
grep -i exception app.log
/var/www/html/
/var/log/nginx/access.log
/var/log/nginx/error.log
tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/error.log
常见问题:
DEBUG=* node app.js
或:
console.error(err);
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Error');
});
# 1. 服务在不在
systemctl status xxx
pm2 list
# 2. 端口在不在
ss -lntp | grep 3000
# 3. 日志
journalctl -u xxx -f
pm2 logs
tail -f /var/log/nginx/error.log
# 4. 权限
ls -l /var/www
whoami
你可以告诉我:
我可以直接帮你定位问题。