PM2 通过环境变量配置 Node.js 应用

在运行 Node.js 应用程序时,经常需要对应用程序进行各种参数配置,比如说数据库连接参数、API 密钥等等。而这些参数通常是敏感的,你不希望将这些参数存储在代码库中或是明文保存在服务器上。

为了解决这个问题,我们可以使用 PM2 来通过环境变量来配置我们的 Node.js 应用程序。

PM2 简介

PM2 是一个 Node.js 进程管理工具。它可以启动、停止、重启和监视 Node.js 应用程序。此外,它还具有负载均衡功能,可以分发请求到不同的 Node.js 实例中。

PM2 环境变量

在 PM2 中,我们可以通过以下方式配置环境变量:

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

具体的配置是在 -- 后面的,-- 之前的是 PM2 的选项。上面的命令中,我们通过 --port=8000--env=production 配置了应用程序的端口和环境变量。

在 Node.js 应用程序中,我们可以通过 process.env 对象来访问环境变量。例如,在应用程序中获取 NODE_ENV 环境变量的值可以使用以下代码:

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

示例代码

以下是一个示例代码,它演示了如何使用 PM2 环境变量来配置 Node.js 应用程序:

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

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

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

使用 PM2 启动应用程序时,我们可以通过环境变量来配置端口和消息:

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

在以上命令执行后,我们可以通过以下 URL 来访问应用程序:

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

如果 MESSAGE 环境变量存在,那么会显示消息内容。否则将显示默认的消息 "Hello, world!"。

结论

使用 PM2 环境变量可以使我们更加方便地配置应用程序的参数,同时也可以提高应用程序的安全性。通过本文所介绍的方法,你可以将一些敏感数据存储在环境变量中而不是明文存储在服务器上。同时,它还可以方便地部署不同的环境,例如开发、测试和生产环境。

对于需要大量配置参数的 Node.js 应用程序而言,使用 PM2 环境变量可以极大地简化应用程序的配置和部署。

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