在使用 Node.js 编写后端应用时,我们通常会用 PM2(Process Manager 2)来启动我们的应用程序,以便在服务器上实现对应用程序的管理,并保证应用程序的稳定运行。但是,有时我们会需要将应用程序在后台运行,以便在服务器关闭终端时,应用程序能够继续运行。本文将详细介绍 PM2 启动 Node.js 应用后的后台运行操作。
PM2 的特点
在介绍 PM2 后台运行之前,我们先了解一下 PM2 的特点:
- PM2 支持多线程启动应用程序,以提高应用程序的性能和处理能力。
- PM2 自带日志记录和日志管理功能,方便我们查看应用程序的运行状态和调试错误。
- PM2 通过监控应用程序的 CPU 和内存使用情况,以及自动重启故障进程等功能,来保证应用程序的稳定运行。
- PM2 支持多种应用程序的启动方式,包括本地文件、HTTP 和 Git。
PM2 后台运行 Node.js 应用程序
在使用 PM2 启动 Node.js 应用程序时,我们通常使用以下命令:
pm2 start app.js
上述命令将在终端启动应用程序,并在终端下运行。
而如果我们希望将应用程序放到后台运行,我们可以使用以下命令:
pm2 start app.js --name="myapp" --no-daemon
--name="myapp"
表示应用程序的名称,可以根据需要自定义。--no-daemon
表示应用程序将在前台运行。
如果我们希望在后台运行应用程序,则可以省略 --no-daemon
参数:
pm2 start app.js --name="myapp"
上述命令将在后台启动应用程序,并在后台运行。
PM2 对进程的管理
使用 PM2 后台运行应用程序时,我们可以使用以下命令对运行的进程进行管理:
pm2 list
:列出当前正在运行的进程。pm2 stop <app_name>
:停止运行指定的进程。pm2 restart <app_name>
:重启运行指定的进程。pm2 delete <app_name>
:删除指定的进程。
示例代码
以下是一个简单的 Node.js 应用程序,它会监听 8888 端口,并输出 "Hello World!":
const http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World!\n'); }).listen(8888); console.log('Server running at http://127.0.0.1:8888/');
我们可以使用 PM2 后台运行该应用程序:
pm2 start app.js --name="myapp"
使用以下命令查看进程:
pm2 list
使用以下命令停止进程:
pm2 stop myapp
使用以下命令重启进程:
pm2 restart myapp
总结
PM2 是一款功能强大的进程管理器,它可以帮助我们管理多进程应用程序的运行状态,保证应用程序的稳定运行。使用 PM2 后台运行 Node.js 应用程序可以让我们更方便地管理和运维我们的应用程序。希望通过本文的介绍,能够帮助读者更好地掌握 PM2 后台运行 Node.js 应用程序的技能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647ea4f448841e9894e588e5