You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从其他终端连接nodemon会话,监控Node.js服务日志

解决方案:共享Node.js服务器的控制台会话日志

这个场景我太熟了!直接在SSH终端启动服务器的话,一旦断开连接或者切换终端,就没法再查看实时日志了,给你几个靠谱的方案,从会话共享到日志文件监控都有:

一、用tmux(推荐,功能更强大)

tmux是终端多路复用工具,可以让你在后台持久化运行会话,多个用户能同时连接查看甚至操作。

  • 安装tmux:

    • Ubuntu/Debian:sudo apt-get install tmux
    • macOS:brew install tmux
    • CentOS/RHEL:sudo yum install tmux
  • 创建并启动服务器会话:

    1. 登录SSH服务器后,创建一个命名会话:tmux new -s server-session(server-session是自定义的会话名,方便识别)
    2. 在这个新会话里,正常启动你的服务器:npm start,此时控制台会输出日志
    3. 保持会话在后台运行:按下Ctrl+B,松开后再按D,这样就可以退出当前终端,但服务器和日志会话会继续在后台运行
  • 同事连接查看日志:
    同事登录SSH服务器后,执行tmux attach -t server-session,就能立即看到服务器的实时控制台日志了。如果有多个会话,先执行tmux ls查看所有会话列表,再指定会话名attach。

二、用screen(经典备选方案)

screen是另一个老牌的终端会话管理工具,用法和tmux类似:

  • 安装screen:

    • Ubuntu/Debian:sudo apt-get install screen
    • macOS:brew install screen
    • CentOS/RHEL:sudo yum install screen
  • 创建并启动会话:

    1. 创建命名会话:screen -S server-session
    2. 启动服务器:npm start
    3. 后台运行会话:按下Ctrl+A,松开后按D
  • 同事连接查看:
    同事登录后执行screen -r server-session即可。如果会话显示已被占用,用screen -d -r server-session强制将原会话detach后再连接。

三、日志文件实时监控(无需会话共享,仅查看)

如果同事只需要查看日志,不需要操作服务器,可以把控制台输出重定向到文件,然后用tail实时监控:

  • 修改package.json的start脚本:
    将原来的脚本改成:

    "start": "concurrently \"tsc && tsc -w\" \"nodemon\" > server.log 2>&1"
    

    这里> server.log把标准输出写入文件,2>&1把错误输出也重定向到同一个文件。

  • 同事查看实时日志:
    登录SSH后执行tail -f server.log,就能实时看到服务器的所有输出了。如果需要查看历史日志,直接用cat server.log或者less server.log浏览。

内容的提问来源于stack exchange,提问作者Mado Baker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:38:21