快速入门 Quick Start
介绍是什么、它的工作原理、它的用途以及何时使用它。
PM2 进程管理
PM2 是一个守护进程管理器,它将帮助您管理和保持您的应用程序在线。 PM2 入门非常简单,它以简单直观的 CLI 形式提供,可通过 NPM 安装。
安装
管理应用程序状态很简单,这里是命令:
$ pm2 restart app_name
$ pm2 reload app_name
$ pm2 stop app_name
$ pm2 delete app_name
除了 app_name
,您还可以传递:
all
作用于所有进程id
作用于特定的进程 ID
检查状态、日志、指标
现在您已经启动了这个应用程序,您可以检查它的状态、日志、指标,甚至可以使用 pm2.io 获取在线仪表板。
列出托管应用程序
对于 Node.js 应用程序,PM2 包括一个自动负载平衡器,它将在每个衍生进程之间共享所有 HTTP[s]/Websocket/TCP/UDP 连接。
要以集群模式启动应用程序:
$ pm2 start app.js -i max
在 此处 阅读有关集群模式的更多信息。
生态系统文件
您还可以创建一个称为生态系统文件的配置文件来管理多个应用程序。 要生成生态系统文件:
这将生成一个 ecosystem.config.js 文件:
module.exports = {
apps : [{
name: "app",
script: "./app.js",
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
}
}, {
name: 'worker',
script: 'worker.js'
}]
}
And start it easily:
$ pm2 start ecosystem.config.js
在 此处 阅读有关应用程序声明的更多信息。
设置启动脚本
使用您在服务器启动/重新启动时管理的进程重新启动 PM2 至关重要。 要解决这个问题,只需运行此命令以生成一个活动的启动脚本:
$ pm2 startup
并冻结自动重生的进程列表:
$ pm2 save
在 此处 阅读有关启动脚本生成器的更多信息。
重新启动应用程序更改
使用 --watch
选项非常简单:
$ cd /path/to/my/app
$ pm2 start env.js --watch --ignore-watch="node_modules"
这将在当前目录+所有子文件夹中的任何文件更改时监视并重新启动应用程序,并且它将忽略 node_modules 文件夹中的任何更改 --ignore-watch="node_modules"
。
然后,您可以使用 pm2 logs
来检查重新启动的应用程序日志。
更新 PM2
我们让它变得简单,版本之间没有重大变化,过程很简单:
$ npm install pm2@latest -g
然后更新内存中的 PM2 :
pm2 update
备忘单
以下是一些值得了解的命令。 只需使用示例应用程序或开发机器上当前的 Web 应用程序来尝试它们:
# Fork mode
pm2 start app.js --name my-api # Name process
# Cluster mode
pm2 start app.js -i 0 # 将根据可用的 CPU 使用 LB 启动最大进程
pm2 start app.js -i max # 与上面相同,但已弃用。
pm2 scale app +3 # 将 `app` 增加 3 名工人
pm2 scale app 2 # 将 `app` 向上或向下扩展到总共 2 个工人
# Listing
pm2 list # 显示所有进程状态
pm2 jlist # 以原始 JSON 格式打印进程列表
pm2 prettylist # 以美化 JSON 打印进程列表
pm2 describe 0 # 显示有关特定进程的所有信息
pm2 monit # 监控所有进程
# Logs
pm2 logs [--raw] # 在流中显示所有进程日志
pm2 flush # 清空所有日志文件
pm2 reloadLogs # 重新加载所有日志
# Actions
pm2 stop all # 停止所有进程
pm2 restart all # 重启所有进程
pm2 reload all # 将 0s 停机时间重新加载(对于 NETWORKED 应用程序)
pm2 stop 0 # 停止特定进程 ID
pm2 restart 0 # 重启特定进程 id
pm2 delete 0 # 将从 pm2 列表中删除进程
pm2 delete all # 将从 pm2 列表中删除所有进程
# Misc
pm2 reset <process> # 重置元数据(重启时间...)
pm2 updatePM2 # 更新内存 pm2
pm2 ping # 确保 pm2 守护进程已经启动
pm2 sendSignal SIGUSR2 my-app # 向脚本发送系统信号
pm2 start app.js --no-daemon
pm2 start app.js --no-vizion
pm2 start app.js --no-autorestart
下一步是什么?
- 了解如何将应用程序的所有行为选项声明到 JSON 配置文件 。
- 了解如何 干净停止并重新启动 来提高可靠性。
- 了解如何 轻松部署和更新生产应用程序 。
- 使用 PM2.io 监控您的生产应用程序。
如何更新 PM2
安装最新的 pm2 版本:
$ npm install pm2@latest -g
然后更新内存中的 PM2 :
pm2 update
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论