45

ノードアプリを起動するためにサーバーで実行するコマンドは次のとおりです。

sudo IS_PROD=1 node app.js

私は永久にインストールしましたが、環境変数を渡すことができないようです。

sudo IS_PROD=1 forever node app.js

うまくいかないようです。私はこれのいくつかの種類を試しました。このコマンドを正常に実行するか、環境変数を永続的に設定するにはどうすればよいですか?

4

2 に答える 2

97

まず第一に、nodeコマンド内のことをスキップする必要があります。そこにあるべきではなく、それを実行できないはずです。を使用してスクリプトを自動的に開始します。代わりに、次のようにする必要があります。

sudo IS_PROD=1 forever app.js

おそらく、サーバーをフォアグラウンドで起動する代わりに、サーバーをデーモンとして起動したいと思うでしょう。例えば。

sudo IS_PROD=1 forever start app.js

これにより、ノード アプリを監視し、終了時に再起動するプロセスがバックグラウンドで作成されます。詳細については、readmeを参照してください。

これらの方法はどちらも、 を使用しているときと同様に、環境変数を保持しますnode

于 2013-03-05T11:58:49.383 に答える
17

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

ユーザー環境を含むオブジェクト。環境 (7) を参照してください。

于 2013-03-05T08:02:39.100 に答える