google app engineに登録〜単純なwebサーバとして使うまでのまとめ

amazon web service用のxslt置場がほしかったんですが、アップが楽で無料でmime-typeいじれてそこそこ安定してる(と思われる)gaeに目を付けてみました。

制限について

  • ファイル数1000個まで
  • ストレージ500MB
  • 月間500万PV

という制限。
で、まぁ一応問題になるかなーというのは「月間500万PV」。例えばcss1個、js1個、画像10個からなるページを読み込んだ時は、そのページ+1+1+10で、13PVと数えます。
ページの凝り方にもよりますが、カウンターが月1万くらい回ってるサイトはまず移転不可能ですね。この数え方だと、お客さん1人で500PVくらいは余裕でしょうし、さらにbotなんかもやってくることを考えると、月1000アクセス程度のHPが限界でしょうか。
自分が置くのはxslt、しかもamazonがキャッシュしてるみたいなので、まず500万はいかないでしょう。
そもそも、普通のHPを置きたいだけなら他の所を借りましょう、って話ですね。

登録

昔取ったことがあって、今回、登録し直したんですが、いつのまにかSMSじゃなくメアドで登録できるようになったようです。
しかしフォームが20文字までしか入らない……。携帯のメアド、20文字超える人って結構いると思うんですが、どうなんでしょう。
一か八か、firebugで制限外して送信してみたら、ふつーに届きました。メアド変えずにすんだぜ!
登録に使ったアプリケーションIDを覚えておきます。自分の名前を使った mirutover で登録しました。
以下、[アプリケーションID]は、設定したアプリケーションIDに置き換えて下さい。

SDKインストール〜必須ファイル作成

python2.5が無い場合は入れます。
で、SDKインストール。
インストール完了後、インストールしたディレクトリに移動し、アプリケーションIDと同じ名前のフォルダを作成し、その中に以下のファイルを作成します。アプリケーションIDだけは書き換えてください。
↓app.yaml

application: [アプリケーションID]
version: 1
runtime: python
api_version: 1

handlers:
- url: /
  static_files: html/index.html
  upload: html/index.html

- url: /
  static_dir: html

こちら、ルートURLでindex.htmlを呼び出すために、ルートURLに2つハンドルしてるんですが、このやり方はまずいかも知れません; ただ、一応アップロードできたし問題なく動いているようなので、とりあえずよしとします。

↓index.yaml

indexes:

テスト

  • [アプリケーションID]

みたいにして、html以下に好きなようにファイルを置きます。
そして、コマンドプロンプトでインストールしたディレクトリに移動し、以下のコマンドを実行します。

dev_appserver.py [アプリケーションID]

そうすると、いろいろ表示された後に http://localhost:8080/ と表示されるかと思います。
一度ここにアクセスしてみましょう。うまく行っていれば、index.htmlの内容が表示されるはずです。

アップロード

同じように、コマンドプロンプト

appcfg.py update [アプリケーションID]

と入力。
メールアドレスとパスワードを聞かれるので入力すると、アップロードが始まります。
エラーっぽい英文が出ていなければ、アップ完了です。

いよいよアクセス

http://[アプリケーションID].appspot.com/
にアクセスしてみてください。
うまくアップされていれば、index.htmlが表示されるはずです。

まとめ

mimeタイプもデフォルトである程度判定してくれている模様。jsはapplication/x-javascriptcssはtext/cssでした。
自分はxslt用に使う予定ですが、それ以外でもいろいろやってみたくなりました。
麻雀の役を計算するweb apiを作りたいんですよね。すでにどこか作ってるかなー。