2013-06-03 19 views
5

永遠に実行されるメトリクスを取得するために環境変数を設定するにはどうすればよいですか? 私が輸出を行うなどのように、永遠に実行した場合永遠に実行されるメトリクスを取得するための環境変数の設定方法

export PORT=80 MONGO_URL=mongodb://localhost:3002/appname 

sudo forever -f start bundle/main.js 

永遠meteorjsは、ノードとバンドル実行されません。

/Users/../bundle/server/server.js:166 
throw new Error("MONGO_URL must be set in environment"); 
    ^
Error: MONGO_URL must be set in environment 
at run (/Users/../bundle/server/server.js:166:11) 
at Object.<anonymous> (/Users/../bundle/server/server.js:331:1) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.require (module.js:364:17) 
at require (module.js:380:17) 
at Object.<anonymous> (/Users/../bundle/main.js:1:63) 
at Module._compile (module.js:456:26) 
error: Forever detected script exited with code: 8 

私は直接それを実行した場合には、それがスムーズに実行されます。

sudo PORT=80 MONGO_URL=mongodb://localhost:3002/appname ROOT_URL=http://myapp.com node bundle/main.js 

私がthis answerのようにすると動作します。しかし、それはなぜ輸出声明ではうまくいかないのですか? 設定ファイルを永遠に読み取る方法はありますか?私はforever docsの方法が表示されません。

+0

環境変数がsudoプロセスによって継承されないという理由で動作しないのです。 man sudoをチェックしてみてください。[ここ](http://unix.stackexchange.com/questions/16084/what-environment-do-i-get-with-sudo) – ruquay

答えて

7

ノードのように永遠に実行できます。以下を試してください

sudo PORT=80 MONGO_URL=mongodb://localhost:3002/appname ROOT_URL=http://myapp.com forever -f start bundle/main.js 
+0

それは動作します。別の手順でそれを行う方法はありませんか?永遠にconfigファイルを与えるか? – happly

+0

この[link](http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever)をチェックして、永遠にどのように使用できるかをお読みください。助けがあれば上記の私の答えを受け入れてください。 – slv007