pm2后台运行 node,js 项目


在 CentOS 终端中启动 Node.js 项目时,如果你关闭终端,该项目也会停止运行,这是因为终端关闭会导致该进程的终止。为了解决这个问题,你可以使用一些方法来让项目在后台持续运行,即使终端关闭。以下是几种可行的方法:

  1. 使用 nohup 命令:可以使用 nohup 命令在后台运行你的 Node.js 项目。nohup 命令会将程序的输出重定向到一个文件,并且不会受到终端关闭的影响。你可以这样运行你的项目:

    nohup node your_project.js > output.log &

    这会将项目的输出保存到 output.log 文件中,并在后台运行。你可以通过查看 output.log 文件来获取项目的输出信息。

  2. 使用进程管理工具:可以使用专门的进程管理工具来管理你的 Node.js 项目,例如 pm2pm2 可以在后台运行你的项目,并提供日志记录、监控和自动重启等功能。你可以使用以下命令安装 pm2

    npm install -g pm2

    安装完成后,可以使用以下命令启动你的项目:

    pm2 start your_project.js

    这样,你的项目将在后台一直运行,即使终端关闭。你可以使用 pm2 logs 命令查看项目的日志信息。

  3. 使用终端多路复用工具:可以使用终端多路复用工具,例如 tmuxscreen,来创建一个会话,并在该会话中运行你的项目。这样即使终端关闭,会话仍然保持活动状态。你可以按照以下步骤使用 tmux

    • 安装 tmux:使用包管理器(如 yum)安装 tmux
    • 启动 tmux:运行 tmux 命令启动一个新的会话。
    • tmux 会话中启动你的项目:进入项目目录,然后运行 node your_project.js
    • 分离会话:按下 Ctrl + b,然后按下 d 键,会话将在后台运行。
    • 关闭终端:关闭终端不会影响 tmux 会话的运行。

    当你需要重新连接到 tmux 会话时,可以使用以下命令:

    tmux attach

    这将重新连接到之前创建的 tmux 会话,你将能够查看项目的输出。

这些方法中的任何一种都可以让你的 Node.js 项目在后台持续运行,并且不会受到终端关闭的影响。你可以根据个人喜好和需求选择其中之


Author: Acaibird
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Acaibird !
  TOC