如何在 PM2 中配置应用程序的环境变量?

阅读时长 4 分钟读完

在开发前端应用程序时,通常需要在不同的环境中运行应用程序,而这些不同的环境可能需要不同的配置信息,例如数据库连接信息、API 地址等等。为了方便地配置这些信息,我们可以使用环境变量来存储它们。

在 Node.js 应用程序中,可以使用 process.env 对象来访问环境变量。但是,当我们使用 PM2 来部署应用程序时,需要特别注意如何配置应用程序的环境变量。

本文将介绍如何在 PM2 中配置应用程序的环境变量,并提供示例代码来演示如何使用这些环境变量。

PM2 环境变量的配置方式

在 PM2 中配置应用程序的环境变量有以下几种方式:

1. 在启动命令中设置环境变量

可以在启动命令中使用 NODE_ENV 和其他自定义的环境变量来启动应用程序。例如:

在这个例子中,我们设置了一个名为 myapp 的应用程序,使用了 production 的环境变量,以及自定义的 --port 参数来配置应用程序的端口。

2. 使用 ecosystem 配置文件设置环境变量

可以在 PM2 的 ecosystem 配置文件中设置应用程序的环境变量。例如:

-- -------------------- ---- -------
-------------- - -
  ----- -
    -
      ----- --------
      ------- ---------
      ---- -
        --------- -------------
        ----- ------
      -
    -
  -
-

在这个例子中,我们设置了一个名为 myapp 的应用程序,使用了 production 的 NODE_ENV 环境变量,以及 8080 的 PORT 环境变量来配置应用程序的端口。

3. 使用默认的环境变量

PM2 会自动设置一些默认的环境变量,例如 NODE_ENV。可以在应用程序中直接使用这些环境变量。例如:

在这个例子中,我们使用了环境变量 PORT 来配置应用程序的端口。如果没有设置这个环境变量,就会使用默认的端口 3000。

示例代码

下面是一个简单的 Node.js 应用程序,它使用了上述三种方式来配置环境变量。

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------

----- ---- - ---------------- -- -----
----- ----------- - -------------------------

------------ ----- ---- -- -
  --------------- ------ -------- ---- -----------------
---

---------------- -- -- -
  -------------------- --- --------- -- ---------------------------
---

可以拷贝这个代码到一个名为 app.js 的文件中,并使用以下命令来启动应用程序:

或者,将以下内容保存到一个名为 ecosystem.config.js 的文件中,并使用以下命令来启动应用程序:

-- -------------------- ---- -------
-------------- - -
  ----- -
    -
      ----- --------
      ------- ---------
      ---- -
        --------- -------------
        ----- -------
        ------------- --------------------------------------
      -
    -
  -
-

通过以上两种方式,都可以配置环境变量并启动这个应用程序。如果一切正常,可以在浏览器中访问 http://localhost:8080,看到一个欢迎页面,同时在终端中看到类似于以下的输出:

结论

在 PM2 中配置应用程序的环境变量可以通过启动命令、ecosystem 配置文件、以及默认的环境变量三种方式来实现。了解这些方式并加以使用,可以方便地配置应用程序的环境变量,并且能够提高开发效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/675135b78bd460d3ad8769aa

纠错
反馈