PM2 让部署 nodejs 变得更简单,快速上手!

在前端开发的过程中,我们经常需要使用到 nodejs,尤其是在服务器端渲染、API 接口开发、爬虫等场景下。而部署 nodejs 项目,则是一个不可避免的问题。有了 PM2,部署 nodejs 变得更加简单,让我们快速上手吧!

什么是 PM2?

PM2 是一个面向生产环境的 Node.js 进程管理器,可以让你轻松地管理和监视 nodejs 应用,支持 0 秒停机重载代码,内存监控、负载均衡等功能。

总的来说,PM2 的功能可以分为如下几个方面:

  • 应用程序管理:启动、停止、重启、删除应用程序等
  • 进程守护:确保应用程序始终处于运行状态
  • 内存监控:感知实时的内存使用情况
  • 日志管理:聚合多个应用程序 Log
  • 0 秒停机重载代码:避免服务中断

PM2 的安装

在使用 PM2 之前,需要先安装 Node.js 和 npm。安装完成后,可在命令行中进行安装:

使用 PM2 启动 nodejs 应用

在项目根目录下,使用以下命令启动 nodejs 应用:

其中 app.js 是 nodejs 应用的入口文件。

启动成功后,可以通过以下命令查看应用程序状态:

如果你的应用程序出现了 Bug 或需要更新,你可以使用 demo-name 重启它(demo-name 是你应用的名称):

PM2 的进程守护功能

在生产环境中,服务器经常需要不间断地运行 nodejs 应用。要确保服务器不会意外崩溃,需要使用 PM2 的进程守护功能。

启用进程守护的方法很简单,只需在启动应用程序时加上 --watch 参数即可:

PM2 的负载均衡功能

当使用 PM2 启动多个 nodejs 应用时,PM2 可以自动实现负载均衡。通过在启动 node 应用时加上 -i 参数,指定应用的数量:

在上述示例中,启动 2 个应用程序时,PM2 会自动负载均衡,将请求分配到多个应用程序中。

PM2 的内存监控功能

在生产环境中,内存异常是 nodejs 应用程序最常见的问题。PM2 提供了内存监控功能,可以即时感知内存异常并及时作出处理。

首先需要安装 memory模块:

然后,启用内存监控功能:

使用上述示例命令启动的 nodejs 应用程序将启动内存监控功能。

PM2 的日志管理功能

PM2 不仅可以在控制台输出日志,还可以将多个应用程序的日志聚合在一起,存储到磁盘上,达到更好的日志管理和查找的目的。

在 PM2.conf 文件中,可以设置日志管理的详细配置,如下所示:

日志文件可以在 $HOME/.pm2/logs 目录中找到。

PM2 的 0 秒停机升级

在生产环境中进行升级操作时,很容易导致服务中断,影响用户体验。PM2 的 0 秒停机升级功能可以解决这个问题,无需停机即可更新代码。

以下是启用 0 秒停机升级的示例命令:

在以上示例命令中,使用 --ignore-watch 参数排除 public 目录文件的变更,使用 --watch 参数开启 0 秒停机升级。

总结

PM2 是一个强大的 Node.js 进程管理工具,可以帮助开发人员轻松地部署和管理 nodejs 应用。在生产环境中,PM2 的进程守护、负载均衡、内存监控、日志管理和 0 秒停机升级功能,有助于应用程序的稳定运行。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652e34767d4982a6ebf41818


纠错
反馈