前言
Node.js 是一种可伸缩的开源 JavaScript 代码运行环境,其独特的非阻塞 I/O 模型使其成为一种理想的选择,特别是对于开发高并发 Web 应用程序方面。与此同时,PM2 是 Node.js 应用程序的进程管理器。它可以自动管理运行多个 Node.js 进程的负载平衡,重启失败的 Node.js 进程,提供有关进程资源的实时度量等等。在这篇文章中,我们将提供一项使用 PM2 部署 Node.js 应用程序的完整教程。
什么是 PM2?
PM2 是一个真正的工具,它以 CLI 和 HTTP API 的形式提供了许多有用的功能,例如:
- 反向代理和负载均衡:PM2 可以使用多个 Node.js 实例并在其之间分配负载,以在应用程序的 Web 服务后面提供反向代理和负载均衡;
- 进程监控:可以监视已启动的 Node.js 进程以及它们消耗的 CPU,内存和网络资源;
- 自动重启:如果进程崩溃或在运行时发生错误,PM2 可以自动重新启动进程;
- 日志记录:PM2 可以记录进程的日志;
- 0 秒停机部署:PM2 可以在不影响负载均衡的情况下执行“0 秒停机部署”。
安装 PM2
在开始教程之前,您需要确保已在机器上安装了 Node.js。您可以在官方网站上下载并安装 Node.js。
- 通过 npm 安装 PM2:
npm install -g pm2
安装完成后,可以通过以下方式检查 PM2 是否安装成功:
pm2 --version
- 配置 PM2(可选)
PM2 有一些默认设置,但您可以通过创建一个配置文件来自定义这些设置。使用以下命令创建一个 PM2 配置文件:
pm2 ecosystem
在这个文件中,您可以修改 PM2 的许多设置,例如:
- 应用程序的名称;
- 应用程序程序的入口点;
- 您希望 PM2 启动多少个实例,以及每个实例运行的参数;
- 您希望 PM2 如何处理日志和其他输出。
使用 PM2 启动应用程序
开始使用 PM2 启动应用程序非常简单。您可以使用以下命令启动应用程序:
pm2 start app.js
上面的命令将启动一个单一的进程,但 PM2 也可以启动多个进程。您可以通过运行以下命令来启动多个进程:
pm2 start app.js -i max
-i
命令指定要启动的实例数,max
表示启动尽可能多的实例。PM2 将根据可用的 CPU 核心数自动计算要启动的实例数。
使用 PM2 停止应用程序
停止应用程序的过程与启动应用程序的过程完全相同。您可以使用以下命令停止应用程序:
pm2 stop app.js
可以使用 start
命令重新启动应用程序。
使用 PM2 监控应用程序
PM2 允许您查看已启动的进程的实时监控数据。您可以使用以下命令启动监视:
pm2 monit
然后,您可以在终端中查看应用程序的实时状态,包括 CPU 使用率,内存使用率,网络使用率等等。
使用 PM2 部署应用程序
现在,您已经了解了 PM2 的基本使用,并愿意尝试使用 PM2 部署您的 Node.js 应用程序。以下是要按照的步骤:
移动到应用程序的主文件目录。您可以在这里运行应用程序或生成一个构建。
通过以下命令生成一个可执行文件:
npm install && npm run build
该命令将为您的应用程序构建并打包所有依赖项。
现在,您需要将应用程序部署到服务器。您可以使用许多不同的方法来完成此操作,包括通过 FTP 传输文件,使用部署软件(如 Capistrano),使用 Git 或使用其他部署解决方案。
在服务器上,使用以下命令开始部署应用程序:
pm2 start app.js -i max
上面的命令将为您的应用程序启动尽可能多的进程。
- 现在,应用程序已经启动并运行,您可以使用以下命令(与上面相同)监视应用程序的状态:
pm2 monit
结论
在这篇文章中,我们介绍了 PM2 和它的一些基本功能。我们还提供了一些步骤,以便您可以开始使用 PM2 部署自己的 Node.js 应用程序。如果您想要更深入地了解 PM2 或了解有关如何使用 PM2 的其他信息,建议您查看 PM2 的官方文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/670bac0066ef9cf37fab1445