在实际的工作中,经常需要将 Node.js 应用托管到服务器上,但是在生产环境中,仅仅通过命令行运行 Node 应用是不够的,因为我们需要让应用在后台运行,并且当服务器重启时,应用能够自动重新启动。在这种环境中,PM2 这个进程管理工具就变得非常有用了。本文将介绍如何使用 PM2 在后台运行 Node.js 应用。
什么是 PM2?
PM2 是一个进程管理工具,用于在 Node.js 应用的生产环境中简化进程管理。它可以自动重启应用程序,在应用程序崩溃时进行日志记录,管理和监控一组 Node.js 应用等。
安装
在安装 PM2 之前,需要确保 Node.js 已被正确安装。然后,通过以下命令安装 PM2:
npm install pm2 -g
使用
基本命令
使用 PM2 启动一个 Node.js 应用,只需要使用以下命令:
pm2 start app.js
上述命令将启动一个名为 app.js
的 Node.js 应用。如果你的应用在启动时需要传递一些参数,可以这样做:
pm2 start app.js -- --port=3000
使用以下命令列出所有正在运行的 Node.js 应用:
pm2 list
使用以下命令停止 Node.js 应用:
pm2 stop app_name
使用以下命令停止所有 Node.js 应用:
pm2 stop all
使用以下命令删除 Node.js 应用:
pm2 delete app_name
管理多个 Node.js 应用
如果你需要管理多个 Node.js 应用,可以这样做:
pm2 start app1.js pm2 start app2.js
使用以下命令列出所有正在运行的 Node.js 应用:
pm2 list
使用以下命令停止单个 Node.js 应用:
pm2 stop app1
使用以下命令停止所有 Node.js 应用:
pm2 stop all
使用以下命令删除单个 Node.js 应用:
pm2 delete app1
日志
使用以下命令显示特定应用程序的日志:
pm2 logs app_name
使用以下命令显示所有应用程序的日志:
pm2 logs
使用以下命令清除所有应用程序的日志:
pm2 flush
监控
使用以下命令可以监控运行中的 Node.js 应用:
pm2 monit
这个命令会启动一个 Web 页面来监控应用程序的 CPU 和内存使用情况。
配置
PM2 允许你通过配置文件来管理你的应用程序。默认配置文件名为 ecosystem.config.js
,放在应用程序的根目录下。
下面是一个简单的配置文件示例:
-- -------------------- ---- ------- -------------- - - ----- -- ----- ------ ------- ----------- ---------- -- ------------ ----- ------ ----- ------------------- ---- -- -
这个配置文件将启动名为 app
的应用程序,运行 ./app.js
脚本,启动一个实例,自动重启应用程序,监视应用程序的更改,并在内存使用超过 1G
时重启应用程序。
使用以下命令启动配置文件中定义的所有应用程序:
pm2 start ecosystem.config.js
结论
PM2 是一个非常有用的进程管理工具,可以帮助你在 Node.js 应用的生产环境中管理和监控你的应用程序。使用本文所述的方法,你可以快速启动,停止,重启和管理多个 Node.js 应用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/672c1209ddd3a70eb6d47895