ノードアプリを起動するためにサーバーで実行するコマンドは次のとおりです。
Sudo IS_PROD=1 node app.js
私は永久にインストールしましたが、環境変数を渡すことができないようです。
Sudo IS_PROD=1 forever node app.js
トリックをしないようです。私はこれのいくつかの種類を試しました。このコマンドを正常に実行するか、環境変数を永続的に設定するにはどうすればよいですか?
まず、コマンド内のnode
をスキップする必要があります。そこにあるべきではありません。実行できないはずです。 forever は、 nodejs を使用してスクリプトを自動的に開始します。代わりに、このようにする必要があります。
Sudo IS_PROD=1 forever app.js
おそらく、サーバーをフォアグラウンドで起動する代わりに、サーバーをデーモンとして起動したいと思うでしょう。例えば。
Sudo IS_PROD=1 forever start app.js
これにより、ノードアプリを監視し、終了時に再起動するプロセスがバックグラウンドで作成されます。詳細については、 readme を参照してください。
これらのメソッドは両方とも、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)を参照してください。