- 论坛徽章:
- 0
|
Cloud Foundry是一个public cloud的提供商,现在被vmware收购了。在被收购以前,Cloud Foundry允许开发者快速部署基于Amazon Web Service的Spring应用。目前虽然Cloud Foundry现在还在Beta阶段,但是已经能支持很多Open Source服务了,包括:<div><ul><li>Spring for Java Apps</li><li>Rails and Sinatra for Ruby apps</li><li>Node.js apps<br></li><li>Groovy</li><li>Grails and Scala</li><li>MySQL, Redis, and MongoDB</li><li>RabbitMQ</li></ul><div>Cloud Foundry现在处于自由注册状态,而且服务免费,不过注册需要经过审核才能通过。感兴趣的朋友可以去<a href="http://www.cloudfoundry.com/" target="_blank">http://www.cloudfoundry.com/</a>尝试申请一个账号。</div></div><div><br></div><div>要在Cloud Foundry里面部署应用,我们需要先安装Cloud Foundry command line interface(CLI)。可以在一个Linux安装它,也可以通过下载Micro Cloud Foundry镜像。这里我主要介绍前一种方式。</div><div><br></div><div>1)首先我们需要一个Cloud Foundry的账号,需要用自己的email来注册,并且注册需要一段时间的审核才能通过。</div><div><br></div><div>2) 我使用的是Ubuntu 11.04, 需要安装如下这些依赖包:</div><div><ul><li>sudo apt-get install ruby-full,rubygems,git,curl </li></ul><div>3) 然后,需要安装rvm。 rvm即Ruby Version Manager, 有兴趣的可以去他的网站<a href="http://beginrescueend.com/" target="_blank">http://beginrescueend.com/</a>了解下。注意https://rvm.beginrescueend.com/install/rvm其实是rvm的安装脚本,它会使用git去同步rvm最新的版本,如果下载失败,请检查网络或者代理的设置。</div></div><div><ul><li>bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) </li></ul></div><div>4)安装脚本默认条件下会把rvm安装到$HOME/.rvm下面,并且更新$HOME/.bashrc来更新PATH, 所以我们需要重新登录下。如果不想重新登录,可以执行:</div><div><ul><li>source "$HOME/.rvm/scripts/rvm"</li></ul><div>5) 使用rvm安装zlib。注意,如果rvm下载zlib失败,我们可以手工下载需要的zlib源码包放到$HOME/.rvm/archives/。</div></div><div><ul><li>rvm package install zlib</li></ul><div>6) 安装vmc:</div></div><div><ul><li>export PATH=$PATH:/var/lib/gems/1.8/bin</li><li>rvm install 1.9.2 -C --with-zlib-dir=$rvm_path/usr</li><li>rvm use 1.9.2 </li><li>sudo gem install vmc</li></ul><div>至此,Cloud Foundry的CLI安装成功,下面我们来尝试创建并部署一个hello world应用</div></div><div><br></div><div>1) 创建工作目录:</div><div><ul><li>cd $HOME</li><li>mkdir hellobigluo</li><li>cd hellobigluo</li></ul><div>2) 编写hello world应用:</div></div><div><ul><li>vi hellobigluo.rb</li></ul></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><div id="codeText" class="codeText"><ol start="1" class="dp-css"><li><span>require <span style="color:#FF00FF;">'sinatra'</span><br></span></li><li>
<br></li><li>
get <span style="color:#FF00FF;">'/'</span> do<br></li><li>
<span style="color:#FF00FF;">"Hluo, welcome to Cloud Foundry"</span><br></li><li>
end</li></ol></div></div></div></blockquote>3) 部署应用<div><ul><li><li>vmc target api.cloudfoundry.com</li></li><li>vmc login #这儿需要提供注册时候的账号</li><li>cd $HOME/hellobigluo</li><li>vmc push</li></ul><div>4) vmc push会有提示如下问题:</div></div><div><div>hluo@localhost:~/hello$ vmc push</div><div>Would you like to deploy from the current directory? [Yn]:</div><div>Application Name: hellobigluo</div><div>Application Deployed URL: 'hellobigluo.cloudfoundry.com'?</div><div>Detected a Sinatra Application, is this correct? [Yn]:</div><div>Memory Reservation [Default:128M] (64M, 128M, 256M, 512M, 1G or 2G)</div><div>Creating Application: OK</div><div>Would you like to bind any services to 'hellobigluo'? [yN]:</div><div>Uploading Application:</div><div> Checking for available resources: OK</div><div> Packing application: OK</div><div> Uploading (0K): OK</div><div>Push Status: OK</div><div>Staging Application: OK</div><div>Starting Application: OK</div></div><div><br></div><div>5) 现在我们打开浏览器,输入http://hellobigluo.cloudfoundry.com看看我们的第一个云应用吧。</div><div><br></div><div>-Hao</div> |
|