一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

如何在CentOS中通过nohup运行Node.js应用

时间:2026-07-29 11:38:50 编辑:袖梨 来源:一聚教程网

在CentOS环境中,通过nohup命令可让Node.js应用程序转入后台执行,关闭终端或断开连接后,应用程序依然会继续运行。下面说明如何使用nohup运行Node.js应用:

如何在CentOS中使用nohup运行Node.js应用

  1. 启动终端。

  2. 找到应用程序存放的位置并切换过去。以Node.js应用程序位于该处为例/home/user/my-node-app,可执行下面的命令:

    cd /home/user/my-node-app
  3. 使用nohup命令运行Node.js应用程序。您需要指定Node.js可执行文件的路径(通常为/usr/bin/node)以及应用程序的主文件(例如app.js)。此外,建议将输出重定向到一个日志文件,以便于跟踪应用程序的输出。以下是一个示例命令:

    nohup /usr/bin/node app.js > output.log 2>&1 &

    在这个命令中,>将标准输出重定向到output.log文件,2>&1将标准错误重定向到标准输出,&使命令在后台运行。

  4. 您还可以通过tail命令实时查看日志文件输出:

    tail -f output.log
  5. 如果您想要在应用程序启动时自动运行它,可以将上述命令添加到/etc/rc.local文件中。首先,使用文本编辑器打开rc.local文件:

    sudo vi /etc/rc.local

    然后,在exit 0之前添加以下行:

    nohup /usr/bin/node /path/to/your/app.js > /path/to/output.log 2>&1 &

    保存并关闭文件。现在,每次系统启动时,Node.js应用程序都会自动运行。

  6. 如果您想要在系统启动时使用systemd管理Node.js应用程序,可以创建一个新的服务单元文件。首先,创建一个新文件,例如/etc/systemd/system/my-node-app.service

    sudo vi /etc/systemd/system/my-node-app.service

    然后,将以下内容粘贴到文件中(根据您的实际情况修改路径和用户):

    [Unit]Description=My Node.js Application[Service]ExecStart=/usr/bin/node /path/to/your/app.jsWorkingDirectory=/path/to/your/app-directoryUser=myuserRestart=always[Install]WantedBy=multi-user.target

    保存并关闭文件。接下来,启用并启动服务:

    sudo systemctl enable my-node-app.servicesudo systemctl start my-node-app.service

    您可以使用以下命令检查服务状态:

    sudo systemctl status my-node-app.service

至此,您已经通过nohupNode.js应用程序不仅已在CentOS中运行,还能在系统启动时自行运行。

热门栏目