使用 pm2 将环境变量传递给 node.js
Passing environment variables to node.js using pm2
我正在尝试将一些参数传递给我的 Express 应用程序,它是 pm2 运行。他们的文档中没有任何提示这样做,但显然可以将一些 EV 传递给您的节点应用程序,例如 SOME_STUFF=xxx pm2 start app.js
.
这实际上是可能的,我很确定它在前段时间出现在 PM2 的文档中。
无论如何,这就是你需要做的:
pm2 start app.js -- -some_stuff xxx
基本上,添加--
,然后您可以添加自己的应用程序参数。
好不容易找到源码了,隐藏的不错:http://pm2.keymetrics.io/docs/usage/quick-start/#42-ways-of-starting-processes
我在使用 pm2 start app.js -- -some_stuff xxx
传递参数时遇到问题,所以我选择这样做:SOME_STUFF=xxx OTHER_STUFF=abc pm2 start app.js
。
然后,当我 运行 pm2 logs
我能够看到我的应用程序成功启动并且环境变量设置正确,而当我 运行 pm2 logs
.
注意 - 在您的环境中更新环境变量后,您必须执行以下操作:
pm2 restart all --update-env
问我怎么知道的...
编辑:还要在节点源目录中查找 .env 文件...
您应该在 ecosystem.config.js
中传递 ENV
ecosystem.config.js(在根目录)
module.exports = {
apps: [
{
name: "project-name",
exec_mode: "cluster",
instances: "1",
script: "./server/index.js", // your script
args: "start",
env: {
NODE_ENV: "production",
SOME_ENV: "some_value"...
},
},
],
};
在控制台中:
pm2 run ecosystem.config.js
PM2官方文档中有资料about configuration of ENV
环境变量并不总是更新,除非您强制它们更新。
SOME_STUFF=xxx pm2 start app.js --update-env
我正在尝试将一些参数传递给我的 Express 应用程序,它是 pm2 运行。他们的文档中没有任何提示这样做,但显然可以将一些 EV 传递给您的节点应用程序,例如 SOME_STUFF=xxx pm2 start app.js
.
这实际上是可能的,我很确定它在前段时间出现在 PM2 的文档中。
无论如何,这就是你需要做的:
pm2 start app.js -- -some_stuff xxx
基本上,添加--
,然后您可以添加自己的应用程序参数。
好不容易找到源码了,隐藏的不错:http://pm2.keymetrics.io/docs/usage/quick-start/#42-ways-of-starting-processes
我在使用 pm2 start app.js -- -some_stuff xxx
传递参数时遇到问题,所以我选择这样做:SOME_STUFF=xxx OTHER_STUFF=abc pm2 start app.js
。
然后,当我 运行 pm2 logs
我能够看到我的应用程序成功启动并且环境变量设置正确,而当我 运行 pm2 logs
.
注意 - 在您的环境中更新环境变量后,您必须执行以下操作:
pm2 restart all --update-env
问我怎么知道的...
编辑:还要在节点源目录中查找 .env 文件...
您应该在 ecosystem.config.js
中传递 ENVecosystem.config.js(在根目录)
module.exports = {
apps: [
{
name: "project-name",
exec_mode: "cluster",
instances: "1",
script: "./server/index.js", // your script
args: "start",
env: {
NODE_ENV: "production",
SOME_ENV: "some_value"...
},
},
],
};
在控制台中:
pm2 run ecosystem.config.js
PM2官方文档中有资料about configuration of ENV
环境变量并不总是更新,除非您强制它们更新。
SOME_STUFF=xxx pm2 start app.js --update-env