2012-09-28 29 views
2

如何獲得cloudfoundry來分配端口?我正在添加應用程序,我想每個端口都有不同的端口,但VCAP_APP_PORT未設置。 VCAP_APP_HOST已設置,但VCAP_APP_PORT不是。如何使用VCAP_APP_PORT

+0

你能澄清你想要做什麼嗎?你是否添加了服務(即「貢獻」OpenSource項目),還是隻是**將應用程序部署到CF.如果是後者,你使用什麼語言/框架?你有沒有示例代碼提供? – ebottard

回答

2

看看http://show-env.cloudfoundry.com/

這是一個節點應用我敲在一起只是爲了輸出環境,當你調用它,代碼看起來像這樣的請求頭;

var http = require('http'); 
var util = require('util'); 

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.write(util.inspect(process.env)); 
    res.write("\n\n************\n\n"); 
    res.end(util.inspect(req.headers)); 

}).listen(3000); 

您可以在輸出中看到VCAP_APP_PORT;

Environment output 這將是很方便的知道你正在使用的框架,但是,所有這些變量應該被存儲在系統環境中,所以應該沒有真正的問題。

+0

好的。謝謝丹。我有一個現有的Java應用程序,我想跨越多個DEA進行擴展。 – swampfox07

2

Cloud Foundry會自動爲每個應用程序實例分配一個IP地址和端口,並且可以像Dan所描述的那樣在VCAP_ *變量中訪問這些值。您無法告訴Cloud Foundry您更喜歡哪個端口。您的應用程序的每個實例都可能會收到不同的IP地址和端口,因此如果您需要這些信息,則應始終詢問環境以查明它們的含義。