简介
PM2 是一个跨平台的进程管理器,可以用于管理 Node.js 应用程序的进程、监控它们的运行状态、自动进行负载均衡等。此外,它还提供了开箱即用的日志管理、错误追踪、代码热重载等功能。
本文将详细介绍 PM2 的启动命令参数及使用方法,帮助开发者更好地使用 PM2 进行 Node.js 应用程序的管理和维护。
启动命令参数
PM2 的启动命令参数非常丰富,下面我们一一进行介绍。
--name
--name
参数用于指定应用程序的名称,这个名称在 PM2 管理界面中会显示,也可以用于对应用程序进行识别和操作。
示例代码:
pm2 start app.js --name my-app
-i
-i
参数用于指定应用程序的实例数,也就是进程数。当应用程序需要处理大量并发请求时,可以通过增加进程数来提高并发能力。
示例代码:
pm2 start app.js -i 4
--watch
--watch
参数用于监听应用程序文件的变化,一旦文件发生变化,PM2 会自动重启应用程序。这个功能非常适用于开发环境。
示例代码:
pm2 start app.js --watch
--ignore-watch
--ignore-watch
参数用于忽略某些文件或目录的变化,这些文件或目录不会触发应用程序的重启。
示例代码:
pm2 start app.js --ignore-watch node_modules
-e
-e
参数用于指定错误日志文件的路径,当应用程序抛出异常时,错误日志会被写入到这个文件中。
示例代码:
pm2 start app.js -e /var/log/my-app.err.log
-o
-o
参数用于指定输出日志文件的路径,应用程序的标准输出和错误输出会被写入到这个文件中。
示例代码:
pm2 start app.js -o /var/log/my-app.out.log
--max-memory-restart
--max-memory-restart
参数用于指定应用程序占用内存的上限,一旦应用程序超过这个上限,PM2 会自动重启应用程序。
示例代码:
pm2 start app.js --max-memory-restart 100M
--restart-delay
--restart-delay
参数用于指定应用程序崩溃后的重启延迟时间,这个参数主要用于防止连续崩溃的情况。
示例代码:
pm2 start app.js --restart-delay 5000
--env
--env
参数用于指定 Node.js 运行环境,不同的运行环境可以使用不同的配置文件或变量。
示例代码:
pm2 start app.js --env production
--env_{key}
--env_{key}
参数用于指定 Node.js 运行环境下的变量值,可以在代码中通过 process.env.{key}
来获取。
示例代码:
pm2 start app.js --env NODE_ENV=production --env MY_VAR=123
使用方法
PM2 的使用非常简单,可以通过命令行或者 API 来进行操作。
命令行操作
启动应用程序
pm2 start app.js --name my-app
停止应用程序
pm2 stop my-app
重启应用程序
pm2 restart my-app
删除应用程序
pm2 delete my-app
查看应用程序状态
pm2 status
API 操作
启动应用程序
-- -------------------- ---- ------- ----- --- - --------------- ---------------------- - ----------- ----- --------- ------- --------- ---- ---------- ------------- -- ------------- ----- - ----------------- -- ----- ----- ---- --- ---
停止应用程序
const pm2 = require('pm2'); pm2.connect(function() { pm2.stop('my-app', function(err, apps) { pm2.disconnect(); if (err) throw err; }); });
重启应用程序
const pm2 = require('pm2'); pm2.connect(function() { pm2.restart('my-app', function(err, apps) { pm2.disconnect(); if (err) throw err; }); });
删除应用程序
const pm2 = require('pm2'); pm2.connect(function() { pm2.delete('my-app', function(err, apps) { pm2.disconnect(); if (err) throw err; }); });
查看应用程序状态
-- -------------------- ---- ------- ----- --- - --------------- ---------------------- - ---------------------- ----- - ----------------- -- ----- ----- ---- ------------------ --- ---
总结
本文详细介绍了 PM2 的启动命令参数及使用方法,并通过示例代码进行了演示。通过本文的学习,读者可以更好地理解和使用 PM2 进行 Node.js 应用程序的管理和维护,提高应用程序的可靠性和性能表现。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f136faf6b2d6eab3b0c1b7