Node.js 是一种非常流行的服务器端异步 JavaScript 运行环境,它支持极高的并发连接,而且可以轻松地进行扩展。在世界范围内已经有许多使用 Node.js 来进行 Web 开发的公司。
随着 Node.js 的普及,越来越多的人开始使用 PM2 来管理 Node.js 应用。PM2 是一个高级的 Node.js 进程管理器,可以有助于您将应用程序部署到生产环境中,并为其提供各种有用的功能。在本文中,我们将详细介绍如何使用 PM2 对 Node.js 应用进行部署,以及如何使它们在服务器上运行稳定且高效。
准备工作
在开始使用 PM2 之前,您需要在您的服务器上安装 Node.js 和 NPM。如果您还没有安装 Node.js,请按照以下步骤进行操作:
- 访问 Node.js 的官方网站 https://nodejs.org/
- 选择与您的操作系统相对应的版本,下载并安装。
安装完成后,您可以在终端中输入以下命令来验证是否成功安装:
---- -- --- --
如果您看到类似于以下输出,则表明您已成功安装:
-------- -------
安装 PM2
安装 Node.js 和 NPM 后,您可以使用以下命令在全局范围内安装 PM2:
--- ------- -- ---
安装完成后,您可以通过以下命令检查 PM2 是否成功安装:
--- --
部署 Node.js 应用
下面是一个简单的 Node.js 应用程序,它用来创建一个 HTTP 服务器,然后输出“Hello World”:
----- ---- - ---------------- ----- ------ - ----------------------- ---- -- - -------------- -------- --- --------------------
为了将此应用程序部署到生产服务器上,您可以执行以下命令:
--- ----- ------ ------ --------
此命令将启动应用程序并将其命名为“demo-app”。启动成功后,您可以使用以下命令来查看当前正在运行的应用程序:
--- ----
注意到,此时我们只是将 Node.js 应用程序作为一个进程启动,这并不足以让您的应用程序在生产环境中稳定运行下去。接下来,我们将介绍使用 PM2 提供的其他功能来管理应用程序。
配置 PM2
PM2 在启动应用程序时,基于配置设置一些属性。可以通过以下命令来设置应用程序的配置属性:
--- --- --- -----
例如,您可以使用以下命令来将日志文件存储在指定目录下:
--- --- ------------------- ------------
环境变量
在应用程序的配置文件中,可以使用环境变量来配置一些私密信息,例如数据库密码、API 密钥等敏感信息。在 PM2 中,可以使用 env
属性来配置环境变量。例如,使用以下配置文件 app.config.js
:
-------------- - - ----- -- ----- ----------- ------- ----------- ---- - --------- ------------- ------------ -------------------- -- --------------- - --------- ------------- ------------ ------------------------------- - -- -
在这个例子中,我们设置了两个环境变量,一个是 NODE_ENV
,另一个是 DB_PASSWORD
。根据指定的模式,应用程序将使用相应的配置。
监控 PM2
PM2 提供了许多有用的指令,可以用来监控正在运行的应用程序,例如 CPU、内存占用等。以下是一些常用的命令:
监听应用程序的日志
--- ---- --------
查看应用程序的内存占用
--- ----- --------
查看应用程序的 CPU 占用
--- ----- --------
查看应用程序的状态
--- ------
停止应用程序
--- ---- --------
重启应用程序
--- ------- --------
结论
通过使用 PM2,您可以轻松地将 Node.js 应用程序部署到生产服务器上,并为其提供各种功能,如自动重启、负载均衡、监控等。还可以为您的应用程序提供有用的配置属性,例如环境变量、日志文件、多个进程等。
本文涵盖了一些有用的 PM2 指令及其功能,但还有更多可以使用的功能。我们鼓励您继续学习 PM2 文档,并着手实践来熟练掌握这个强大的工具。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/670dcad05f551281025e69af