部署是软件开发中最关键和决定性的阶段之一。 正确的部署策略对于在有效利用服务的同时为用户提供最佳体验至关重要。 然而,这个过程也带来了它自己的一系列挑战。
Node.js 是一种开源 JavaScript 运行时,它允许您在 Web 浏览器之外运行 JavaScript,因此是构建应用程序后端基础架构的流行选择。 但是,如果您的 Node.js 应用程序在生产环境中崩溃了怎么办? 在本文中了解如何避免此类情况。
什么是 PM2,为什么需要它?
PM2 是一个守护进程管理器,它使您能够使 Node.js 应用程序永远保持活动状态,在不停机的情况下重新加载它们,管理应用程序日志记录、监控和集群。
想象一下,您的 Node.js Web 服务器由于某些运行时错误而崩溃。 如果不使用 PM2 之类的东西,您将不得不定期手动跟踪应用程序的状态,并在它出现故障时重新启动它。 PM2 可帮助您自动化此过程并使您的应用程序保持 24/7 在线,即使出现问题。
在 Linux 服务器上安装 PM2
在安装 PM2 之前,请确保在 Linux 服务器上安装了 Node.js 和 NPM,以便从 Node Package Manager 存储库下载 PM2 包。
在服务器上启动并运行 Node.js 后,通过运行以下命令安装 PM2:
npm install -g pm2
输出:
这 -G 上述命令中的标志代表 全球的 并允许您在所有 Node.js 应用程序中使用 PM2。 您可能需要添加 sudo 在命令的开头,取决于您的用户帐户拥有的权限。
使用 PM2 运行节点应用程序
安装过程完成后,使用 cd 命令导航到 Node.js 应用程序所在的目录。 在项目目录中,您可以使用 PM2 使用以下命令执行 JavaScript 文件:
pm2 start filename.js
为了 example,如果您的 Node.js 应用程序的入口点位于 index.js 文件,这是您可以运行该文件的方式:
pm2 start index.js
如果您需要对应用程序进行任何更改,您可以使用命令行文本编辑器来编辑代码,然后使用以下命令重新启动您的 PM2 应用程序实例:
pm2 restart filename.js
要完全关闭应用程序,请使用以下命令:
pm2 stop filename.js
除了使用 PM2 运行单个文件,您还可以执行存在于 包.json 您的 Node.js 应用程序的文件。 为了 example如果你想运行 开始 脚本,以这种方式构造命令:
pm2 start npm --name <app_name> -- start
查看日志和统计信息
为了监控运行时可能出现的错误,PM2 为您提供了一个选项来检查您的应用程序生成的日志。 以下是查看它们的方法:
pm2 logs <app_name>
为了监控当前正在运行的所有进程,PM2 带有一个方便的基于终端的仪表板来观察 CPU 和 RAM 使用情况,您可以使用以下命令访问:
pm2 monit
要查看其他详细信息和元数据,例如应用程序版本、重启次数、正常运行时间、脚本参数等:
pm2 show <app_name>
轻松将 Node.js 应用部署到生产环境
使用像 PM2 这样的流程管理器可以大大减少不断监控 Node.js 应用程序的状态和正常运行时间的开销。 借助其内置的负载均衡器,您可以期待提高服务的性能和可靠性。
说到部署,您很可能会使用 Linux 虚拟机将应用程序部署到云中。 不确定如何做到这一点? 以下是帮助你开始在 Azure 上使用虚拟机的指南。