使用pm2将环境变量传递给node.js

Yar*_*Yar 1 node.js express pm2

我试图将一些参数传递给由pm2运行的Express应用程序。他们的文档中没有任何提示,但是显然可以将EV传递给您的节点应用程序,例如SOME_STUFF=xxx pm2 start app.js

JEP*_*ice 12

注意 - 在您的环境中更新环境变量后,您必须执行以下操作:

pm2 重启所有 --update-env

问我怎么知道...

编辑:还要在节点源目录中查找 .env 文件...


Ada*_*nez 11

除非您强制,否则环境变量并不总是更新。

SOME_STUFF=xxx pm2 start app.js --update-env
Run Code Online (Sandbox Code Playgroud)


max*_*uty 7

我在使用传递参数的问题,pm2 start app.js -- -some_stuff xxx所以我选择这样做,而不是:SOME_STUFF=xxx OTHER_STUFF=abc pm2 start app.js

然后,当我运行时,我pm2 logs能够看到我的应用程序成功启动并且环境变量设置正确,而我在运行时看到这些变量周围的错误pm2 logs


And*_*ius 5

实际上这是可能的,而且我很确定前段时间在PM2的文档中。

无论如何,这就是您需要做的:

pm2 start app.js -- -some_stuff xxx
Run Code Online (Sandbox Code Playgroud)

基本上,添加--,然后您可以添加自己的应用程序参数。

设法找到了源,它被很好地隐藏了:http : //pm2.keymetrics.io/docs/usage/quick-start/#42-ways-of-starting-processes

  • 奇怪,这对我不起作用。但是 ```SOME_STUFF=xxx pm2 start app.js ``` 有效。任何想法为什么? (6认同)