Node.js永远与环境variables

我在我的服务器上运行的命令来启动我的节点应用程序是:

sudo IS_PROD=1 node app.js 

我已经永远安装,但似乎无法通过环境variables。

 sudo IS_PROD=1 forever node app.js 

似乎没有办法。 我已经尝试了几个这样的品种。 如何成功执行此命令或永久设置环境variables?

首先,你应该跳过你命令中的node ,它不应该在那里,你不应该能够执行它。 永远使用nodejs自动启动你的脚本。 相反,你应该这样做;

 sudo IS_PROD=1 forever app.js 

也许你不用在前台启动你的服务器,而是想把你的服务器作为一个守护进程启动。 例如。

 sudo IS_PROD=1 forever start app.js 

这将在后台创build一个进程,将看你的节点的应用程序,并在退出时重新启动它。 有关更多信息,请参阅自述文件 。

这两种方法都保留了环境variables,就像刚刚使用node

app.js:

 console.log(process.env.IS_PROD); 

使用node (v0.8.21)

 $ node app.js undefined $ IS_PROD=1 node app.js 1 $ sudo IS_PROD=1 node app.js 1 

forever使用(v0.10.0)

 $ forever app.js undefined $ IS_PROD=1 forever app.js 1 $ sudo IS_PROD=1 forever app.js 1 

文档 :

process.env

包含用户环境的对象。 见environ(7)。