首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 Sinatra 和 MongoDB 在 IBM Bluemix 上构建一个大会签到应用程序-1

使用 Sinatra 和 MongoDB 在 IBM Bluemix 上构建一个大会签到应用程序-1

构建您的应用程序需要做的准备工作
  • 基本熟悉 Ruby 和一种 Ruby 开发环境
  • 安装在本地的 MongoDB
  • 一个  帐户
  • Bluemix 命令行接口 cf
  • 一个用来访问 API 的 Twitter 帐户
为了简便起见,本教程未包含所有源代码清单,但您可以在 JazzHub 上下载该应用程序的完整源代码。一定要下载该代码,这样您才能顺利完成学习本教程。
第 1 步. 创建应用程序首先,要有一个正常运行的 Sinatra 应用程序。在安装 Ruby 后,实现此目的就非常简单。无需安装构建应用程序所需的所有工具,我们将使用 bundler        来管理依赖关系。如果没有安装此工具,可以运行下面这条命令来安装它:
1
gem install bundler




如果使用的是 UNIX® 平台,在安装此工具时,可能需要使用 sudo。
在安装 bundler 后,就可以开始处理我们的应用程序。为应用程序创建一个新项目目录,在此目录中创建一个名为 Gemfile        的新文件。这个文件将定义应用程序的所有依赖关系。将以下代码添加到此文件中。
1
2
3
4
5
6
7
8
9
source 'https://rubygems.org'
gem 'sinatra', '>= 0'
gem 'haml', '>= 0'
gem 'json', '>=0'
gem 'mongo', '>=0'
gem 'bson', '>=0'
gem 'bson_ext', '>=0'
gem 'actionview', '>=0'
gem 'twitter', '>=0'




在命令行,导航到项目目录并运行以下命令:
1
bundle install




这会安装 Gemfile 中列出的依赖关系。依赖于具体的操作系统,在运行此命令时,系统可能要求您输入密码。接下来,让我们的 Sinatra 应用程序正常运行。创建一个名为        app.rb 的新文件并向其中添加以下代码。
1
2
3
4
5
require "sinatra"

get "/" do
    "Hello, world!"
end




最后,创建一个名为 config.ru 的文件。它的内容为:
1
2
require './app'
run Sinatra::Application




现在应能够运行您的应用程序了。在命令行,在项目目录中运行下面这条命令:
1
rackup -p 4567




这会在您机器的端口 4567 上运行一个 Web 服务器。要查看应用程序的实际运行情况,可以在浏览器中访问        http://localhost:4567。您会看到一个类似下图的屏幕:
第 2 步. 将应用程序推送到        Bluemix要使用 Bluemix,需要安装命令行接口工具 cf。如果尚未安装此工具,可以转到项目的 GitHub 页面        (https://github.com/cloudfoundry/cli) 获取下载说明。您还可以从 Bluemix 仪表板创建应用程序和服务,但始终需要使用 cf        来部署应用程序;所以我们将使用它来执行本教程中的所有操作。
要连接到 Bluemix API 并使用您的 Bluemix 帐户登录,可以运行以下命令:
1
2
cf api https://api.ng.bluemix.net
cf login




输入第二个命令后,需要提供您的电子邮件地址和密码。
警告:在部署到 Bluemix 时,一定要输入应用程序的惟一名称和主机名。如果使用我在示例中提供的名称,将得到错误。
接下来,在项目根目录下创建一个名为 manifest.yml 的新文件。此文件告诉        Bluemix,您希望如何部署应用程序。将以下代码添加到该文件中,但一定要将主机名更改为惟一的名称,否则部署将失败。
1
2
3
4
5
6
7
8
applications:
- name: myconf2014
  host: myconf2014
  disk: 1024M
  path: .
  domain: ng.bluemix.net
  mem: 128M
  instances: 1




现在可以使用下面这条命令将此应用程序部署在 Bluemix 上:
1
cf push myconf2014




部署应用程序后,您应看到一条消息,其中表明应用程序已启动并包含应用程序的 URL。将这个 URL http://myconf2014.ng.bluemix.net        加载到浏览器中,测试该应用程序能否正常运行。
进入该 URL 后,继续创建 MongoDB 服务:
1
cf create-service mongodb 100 myconf2014db




一定要将数据库名称(上面的 myconf2014db)更改为某个惟一的名称。我们的应用程序要能够连接到数据库,还需要绑定它:
1
cf bind-service myconf2014 myconf2014db




需要重新启动应用程序,绑定才会被激活。现在还不需要这么做,因为我们很快会推送一些更改。接下来,设置我们的应用程序,以便获得访问 Twitter API 的能力。
返回列表