Google App Engine SDKをLinuxで動かしてみる

Linux(Debian lenny)デスクトップで動いた。

インストール

SDKを落として解凍してgoogle_appengineディレクトリに移動する。

# unzip google_appengine.zip
# cd google_appengine

python 2.4.5には対応してないといわれたので2.5を入れる。/usr/bin/pythonが/usr/bin/python2.4へのシンボリックリンクになってるので、dev_appengine.pyのshebangを/usr/bin/env python2.5に書き換え。書き込み権限がないのでvimで:w!して強制書き換え。んで再度実行。

# sudo apt-get install python2.5
# (略)
~/google_appengine #  head -n 1 ./dev_appserver.py
#!/usr/bin/env python2.5
~/google_appengine # ./dev_appserver.py demos/guestbook/

localhost:8080を見てみると稼働してる。

開発

次にGetting StartedのHello World を試してみる。google_appengine/demos/testにディレクトリを作り、hw.pyとapp.yamlをそれぞれつくる。

# cat app.yaml
application: hel
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: hw.py

# cat hw.py
print "Content-Type: text/plain\n\n"

print "hew"

さっき起動したdev_appserver.pyをCtrl+Cでいったん落として、./dev_appserver.py demos/test/で再起動。localhost:8080にhewって出た。applicationがどこに反映されたのかわからないけど、Googleに持っていったときに使うらしい。要するにfoo.appspot.comを使うならapplication: fooって設定しないといけないらしい。

デプロイ

まずGoogle App Engineのユーザー画面からアクティブにする。

続いて./appcfg.py update demos/test/を実行すると、ユーザー名(メアド)とパスワードをきかれるので入力する。あとは自動でアップロードとかをやってくれて終了。

つかいみち

App Engine上で本気出すのは中長期的に考えてちょっと怖いので、高可用性と高応答性を生かしたハブ的なものが適してそう。キャッシュサーバとか。ひどい使い方だな。

google app engine python
名前

ほか