kurukuru-papaのブログ

主に、ソフトウェア開発に関連したメモを書き溜めたいと思います。

GAE/JRuby/RackでHello World

Google App Engine上で、RubyのWebアプリを作ってみようと思いました。まずは、手始めにRackを利用します。

試行錯誤作成しているので冗長な部分や間違いもあるかも知れませんが、一応動くものが出来たので、メモしておきます。

Rackって何?
  • Webサーバー/Webアプリ(フレームワーク)間のIF仕様
  • PythonWSGI(Web Server Gateway Interface)のRuby
  • Webサーバに依存せずに、Webアプリが書けるようになる模様。
手順概要
  1. GAEのRubyライブラリをインストール
  2. RackのHello Worldスクリプトを作成
  3. ローカルPC環境で動作確認
  4. GAEへデプロイ
  5. GAE環境で動作確認
手順詳細

GAEのRubyライブラリをインストールします。私が実施したときは、Version 0.0.9がインストールされました。

>gem install google-appengine

Webアプリ用ディレクトリを作成します。

>mkdir test001_hello
>cd test001_hello

RackのHello Worldスクリプト(config.ru)を作成します。このファイルがWebアプリ開始の起点になるようです。ここで「application-id」とバージョンの「1」は、自分のGAE環境に合わせて設定します。

require 'appengine-rack'
AppEngine::Rack.configure_app(
    :application => "application-id",
    :version => 1)

run lambda { Rack::Response.new("Hello World!") }

これでもう動作するようになりました。

ローカルPC環境で動作確認してみます。私の環境では、デフォルトの8080ポートは使用中のため3000ポートを使用しました。

>dev_appserver.rb --port=3000 .

ブラウザから、次のURLでアクセスし、「Hello World!」と表示されることを確認できました。

http://localhost:3000/

では、GAEへデプロイします。

>appcfg.rb update .

ブラウザから、次のURLでアクセスし、「Hello World!」と表示されることを確認できました。「application-id」は適宜読み替えます。

http://application-id.appspot.com/
動作環境