Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1362378
  • 博文数量: 343
  • 博客积分: 13098
  • 博客等级: 上将
  • 技术积分: 2862
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-06 00:35
文章存档

2012年(131)

2011年(31)

2010年(53)

2009年(23)

2008年(62)

2007年(2)

2006年(36)

2005年(5)

分类: 云计算

2011-10-20 23:59:31

Cloud Foundry是一个public cloud的提供商,现在被vmware收购了。在被收购以前,Cloud Foundry允许开发者快速部署基于Amazon Web Service的Spring应用。目前虽然Cloud Foundry现在还在Beta阶段,但是已经能支持很多Open Source服务了,包括:
  • Spring for Java Apps
  • Rails and Sinatra for Ruby apps
  • Node.js apps
  • Groovy
  • Grails and Scala
  • MySQL, Redis, and MongoDB
  • RabbitMQ
Cloud Foundry现在处于自由注册状态,而且服务免费,不过注册需要经过审核才能通过。感兴趣的朋友可以去尝试申请一个账号。

要在Cloud Foundry里面部署应用,我们需要先安装Cloud Foundry command line interface(CLI)。可以在一个Linux安装它,也可以通过下载Micro Cloud Foundry镜像。这里我主要介绍前一种方式。

1)首先我们需要一个Cloud Foundry的账号,需要用自己的email来注册,并且注册需要一段时间的审核才能通过。

2) 我使用的是Ubuntu 11.04, 需要安装如下这些依赖包:
  • sudo apt-get install ruby-full,rubygems,git,curl 
3) 然后,需要安装rvm。 rvm即Ruby Version Manager, 有兴趣的可以去他的网站http://beginrescueend.com/了解下。注意https://rvm.beginrescueend.com/install/rvm其实是rvm的安装脚本,它会使用git去同步rvm最新的版本,如果下载失败,请检查网络或者代理的设置。
  • bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) 
4)安装脚本默认条件下会把rvm安装到$HOME/.rvm下面,并且更新$HOME/.bashrc来更新PATH, 所以我们需要重新登录下。如果不想重新登录,可以执行:
  • source "$HOME/.rvm/scripts/rvm"
5) 使用rvm安装zlib。注意,如果rvm下载zlib失败,我们可以手工下载需要的zlib源码包放到$HOME/.rvm/archives/。
  • rvm package install zlib
6) 安装vmc:
  • export PATH=$PATH:/var/lib/gems/1.8/bin
  • rvm install 1.9.2  -C --with-zlib-dir=$rvm_path/usr
  • rvm use 1.9.2 
  • sudo gem install vmc
至此,Cloud Foundry的CLI安装成功,下面我们来尝试创建并部署一个hello world应用

1) 创建工作目录:
  • cd $HOME
  • mkdir hellobigluo
  • cd hellobigluo
2) 编写hello world应用:
  • vi hellobigluo.rb
  1. require 'sinatra'

  2. get '/' do
  3.         "Hluo, welcome to Cloud Foundry"
  4. end
3) 部署应用
  • vmc target api.cloudfoundry.com
  • vmc login #这儿需要提供注册时候的账号
  • cd $HOME/hellobigluo
  • vmc push
4) vmc push会有提示如下问题:
hluo@localhost:~/hello$ vmc push
Would you like to deploy from the current directory? [Yn]:
Application Name: hellobigluo
Application Deployed URL: 'hellobigluo.cloudfoundry.com'?
Detected a Sinatra Application, is this correct? [Yn]:
Memory Reservation [Default:128M] (64M, 128M, 256M, 512M, 1G or 2G)
Creating Application: OK
Would you like to bind any services to 'hellobigluo'? [yN]:
Uploading Application:
  Checking for available resources: OK
  Packing application: OK
  Uploading (0K): OK
Push Status: OK
Staging Application: OK
Starting Application: OK

5) 现在我们打开浏览器,输入看看我们的第一个云应用吧。

-Hao
阅读(1224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~