use*_*427 39 environment-variables node.js forever
我在服务器上运行以启动节点应用程序的命令是:
sudo IS_PROD=1 node app.js
Run Code Online (Sandbox Code Playgroud)
我已经永远安装但似乎无法传递环境变量.
sudo IS_PROD=1 forever node app.js
Run Code Online (Sandbox Code Playgroud)
似乎没有做到这一点.我尝试了几种这样的.如何成功执行此命令或永久设置环境变量?
Mat*_*ias 89
首先,你应该跳过node
你命令中的东西,它不应该在那里,你不应该执行它.永远使用nodejs自动启动您的脚本.相反,你应该这样做;
sudo IS_PROD=1 forever app.js
Run Code Online (Sandbox Code Playgroud)
您可能希望将服务器作为守护程序启动,而不是在前台启动服务器.例如.
sudo IS_PROD=1 forever start app.js
Run Code Online (Sandbox Code Playgroud)
这将在后台创建一个进程,该进程将监视您的节点应用程序并在退出时重新启动它.有关更多信息,请参阅自述文件.
这两种方法都保留了环境变量,就像刚刚使用时一样node
.
mak*_*mak 15
app.js:
console.log(process.env.IS_PROD);
Run Code Online (Sandbox Code Playgroud)
使用node
(v0.8.21)
$ node app.js
undefined
$ IS_PROD=1 node app.js
1
$ sudo IS_PROD=1 node app.js
1
Run Code Online (Sandbox Code Playgroud)
使用forever
(v0.10.0)
$ forever app.js
undefined
$ IS_PROD=1 forever app.js
1
$ sudo IS_PROD=1 forever app.js
1
Run Code Online (Sandbox Code Playgroud)
文件:
process.env
包含用户环境的对象.见环境(7).
归档时间: |
|
查看次数: |
24638 次 |
最近记录: |