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

如何让AWS EC2上的NodeJS服务器脱离SSH连接持续运行?

让AWS EC2上的Node.js服务器持续运行的方法

方法1:使用PM2(推荐,适合生产环境)

PM2是Node.js专用的进程管理器,能自动重启服务、管理进程状态,还支持开机自启,非常适合长期运行的服务。

  • 全局安装PM2:
    npm install pm2 -g
    
  • 进入你的项目目录,启动服务:
    pm2 start npm --name "me-server" -- start
    
    这里--name "me-server"是给进程设置别名,方便后续管理;-- start对应你package.json里的npm start命令。
  • 查看进程状态:
    pm2 status
    
  • 设置开机自启:
    pm2 startup
    
    执行后会输出一条系统命令,复制并执行这条命令,就能让PM2在EC2重启后自动启动你的服务。
  • 查看服务日志:
    pm2 logs me-server
    
    实时查看日志可以加--tail参数:pm2 logs me-server --tail

方法2:使用nohup(简单快速,适合临时测试)

nohup是Linux自带的工具,能让命令脱离终端后台运行,断开SSH后进程不会终止。

  • 进入项目目录,执行:
    nohup npm start &
    
    &符号是让命令在后台运行,nohup会把输出默认写入当前目录的nohup.out文件。
  • 查看日志:
    tail -f nohup.out
    
    用tail -f可以实时跟踪日志输出。
  • 停止服务:
    先找到Node.js进程的ID:
    ps aux | grep node
    
    然后用kill命令终止进程:
    kill <进程ID>
    

方法3:使用screen/tmux(适合需要随时重新连接查看会话的场景)

screen/tmux是终端多路复用工具,能创建持久化的会话,断开SSH后会话里的进程继续运行,后续可以重新连接回去操作。

  • 安装screen(以Amazon Linux为例,Ubuntu用sudo apt install screen):
    sudo yum install screen -y
    
  • 创建新会话:
    screen -S me-server-session
    
  • 在会话里进入项目目录,执行npm start启动服务。
  • 脱离会话(保持进程运行):按下Ctrl+A,然后按D键,此时会回到原来的终端,会话在后台运行。
  • 重新连接会话:
    screen -r me-server-session
    
  • 停止服务:重新连接会话后,按Ctrl+C终止服务,然后输入exit关闭会话。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:55:26