Cloud Foundry 数据库连接

环境配置和数据库客户端连接(以mysql为例子 )

1. 安装rubyinstaller和devkit

2. 安装caldecott:
    gem install rest-client
    gem install eventmachine --pre
    gem install caldecott
3. 安装mysql客户端(如果使用mysql数据库)
4. vmc services
5. vmc tunnel <servicename>


安装devkit的步骤
1. 下载devkit,选择目录并解压 (c:\devkit)
2. cd <DEVKIT_INSTLL_DIR>
3. ruby dk.rb init,将产生config.yml (使用ruby dk.rb review命令并确认)
4. ruby dk.rb install
5. test installation 
    1. gem install json --platform=ruby

    2. ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"


Ruby程序连接CloudFoundry services (在sinatra中连接mysql数据库)

      

require 'sinatra/base'
require 'mysql2'
require 'json'

class WebsitApp < Sinatra::Base
  
  configure do
		services = JSON.parse(ENV['VCAP_SERVICES'])
		mysql_key = services.keys.select { |svc| svc =~ /mysql/i }.first
		mysql = services[mysql_key].first['credentials']
		@@mysql_conf = {:host => mysql['hostname'], :port => mysql['port'],
			:username => mysql['user'], :password => mysql['password']}
		@@conn = Mysql2::Client.new @@mysql_conf
  end

  get "/" do
    "Hello, World cloud Foundry!"
  end

  get "/db" do
  	@@mysql_conf.to_s
  end

end

访问 /db 打印出数据库连接字符串

在cloudfoundry中以rack方式运行 ,config.ru如下

# config.ru
require './app'
run WebsitApp.new

bundle package

bundle install

vmc push <appname>


注--部署过程中framework记得选择rack,否则可能导致部署失败,  vmc刚开始使用0.5.0版本,经常出现“TypeError: can't convert nil into String”错误,改用0.4.7后没在发生,是否新版本bug? 

      



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值