2013-06-03 112 views
5

如何設置環境變量以永久運行meteorjs? 如果我做一個出口,一直運行下去,像這樣如何設置環境變量以獲得永久運行meteorjs

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進程繼承。看看男人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

這是有效的。有沒有辦法在不同的步驟做到這一點?或者永遠給一個配置文件? – happly

+0

看看這個[link](http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever)閱讀關於如何永遠可以使用。如果有幫助,請接受我上面的答案。 – slv007