在Linux上如何后台运行nodejs

PHPz
发布: 2023-04-05 10:33:37
原创
1552 人浏览过

随着 nodejs 这种服务器端 JavaScript 的流行以及 Web 应用程序的增长,越来越多的开发者需要构建发布这样的应用程序。这些应用程序需要能够后台运行,在这篇文章中,我们将探讨一些在 Linux 服务器上如何后台运行 nodejs 的方法。

  1. 使用进程管理器 PM2

PM2 是一个流行的进程管理器,是在生产环境中后台运行 nodejs 的首选。它提供了很多的功能和选项,包括进程监控、自动重启、负载平衡等等。使用 PM2 后,我们可以方便地将 nodejs 应用程序后台运行。

安装 PM2

要使用 PM2,我们需要先进行安装。在终端中输入以下命令:

npm install -g pm2
登录后复制

启动 nodejs 应用程序

在启动应用程序时,使用 PM2 十分简单,只需要在终端中输入以下命令即可:

pm2 start app.js
登录后复制

这里的 app.js 是我们 nodejs 应用程序的入口文件。PM2 会自动创建一个后台进程来运行这个文件。

PM2 还提供了许多有用的命令,我们可以使用这些命令来对 nodejs 进程进行管理。以下是一些最常用的命令:

pm2 list              # 列出所有进程
pm2 stop <app-name>   # 停止指定应用程序
pm2 restart <app-name># 重启指定应用程序
pm2 delete <app-name> # 删除指定应用程序
登录后复制
  1. 使用 nohup

nohup 是一个在 Linux 系统下启动后台进程的工具。它可以让我们在终端下运行一个命令,并在终端关闭后将其转移到后台。使用 nohup 后,即使我们已经退出了终端,我们的 nodejs 应用程序仍然可以在后台运行。

使用 nohup 后台运行 nodejs

要使用 nohup 后台运行 nodejs,只需要在终端中输入以下命令:

nohup node app.js &
登录后复制

这里的 app.js 是我们 nodejs 应用程序的入口文件。“&”符号表示将命令转移到后台执行。

结束运行

当我们需要停止后台运行的 nodejs 应用程序时,我们需要先使用 ps 命令找到应用程序的进程 ID,然后使用 kill 命令结束进程:

ps -ef | grep node     # 找到进程 ID
kill <pid>             # 结束进程
登录后复制
  1. 使用 screen

screen 是一个在一个单独的终端屏幕上运行命令的工具。我们可以在其中运行任何命令,包括 nodejs 应用程序。使用 screen 后,即使我们退出了终端,我们的 nodejs 应用程序仍然可以在屏幕上运行。

安装 screen

如果您的服务器上没有安装 screen,您需要先进行安装。在终端中输入以下命令:

sudo apt-get update
sudo apt-get install screen
登录后复制

启动 screen

要启动一个 screen 终端,我们可以使用以下命令:

screen -S <screen-name>
登录后复制

这里的 screen-name 是我们为该终端命名的名称。

在 screen 中运行 nodejs

现在,我们可以在启动的 screen 终端上运行 nodejs 应用程序。在终端中输入以下命令:

node app.js
登录后复制

当我们退出 screen 终端时,应用程序仍将在后台运行。

重新连接到 screen 终端

如果需要重新连接到 screen 终端,只需使用以下命令:

screen -r <screen-name>
登录后复制

这里的 screen-name 是我们为该终端命名的名称。

结束运行

当我们需要停止后台运行的 nodejs 应用程序时,我们需要先在 screen 终端中使用 Ctrl C 命令停止 nodejs 进程,然后使用以下命令关闭 screen 终端:

exit
登录后复制

总结

在 Linux 服务器上,有多种方式可以后台运行 nodejs 应用程序。PM2 是最常用的进程管理器之一,其他方法包括使用 nohup 和 screen。无论您选择哪种方法,都需要确保您的应用程序能够安全地在后台运行,并且您能够对其进行有效的管理和监控。

以上是在Linux上如何后台运行nodejs的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!