Google App Engineに普通のhtmlを置する
Google App Engineは容量量500MB、月500万PVまでを無料で提供しているということで、
Pythonと言う (比較的) マイナーな言語に関わらずプログラマーをひきつけているようですが、
Pythonじゃなくても、htmlは動かないのかね、と思って、試したところ、設定ファイルをうまく書けば、簡単に使えました。
これなら、Python得意でない人は、Pythonの処理を必要最低限に抑えて
htmlとJavaScriptでできるだけがんばる使い方ができると思います。
あまり言い過ぎるとあれですが、サブドメインも取れるので、普通のウェブページをここで公開してしまうこともできそう。。
できあがりのページはこんな感じです。
つい先ごろ紹介したお絵かきチャットもApp Engine上でなんの問題もなく動きました。
やり方は、そこにも英語で書いてあるんですが、まずはアカウントが必要です。
で、その次に、PythonとEngine環境をインストールします。Windowsならインストーラーを実行するだけです。
その後は秋元さんのページ
辺りを見ながらhelloworld.pyを作ってデプロイまでしてみましょう。
# ちなみに、Windows環境でローカルファイルへのアクセスがおかしいと言う情報を見かけましたが、今は直ってるぽいです。
appserver.py twk でテスト、appcfg.py update twkでデプロイ。
・・・簡単すぎますね。けど、Pythonわけわからんですね(^_^)
さて、ここからですが、app.yamlをこんな感じに書きます。RewriteRuleを書くイメージです。
リファレンスはこちら。
applicationの欄は登録したアプリケーション名で置き換えてください。
application: twk
version: 1
runtime: python
api_version: 1
handlers:
- url: (.*)/
static_files: htdocs\1/index.html
upload: htdocs(.*)/index.html
- url: /(.*\.py)
script: \1
- url: /favicon.ico
static_files: htdocs/favicon.ico
upload: htdocs/favicon.ico
mime_type: image/x-icon
- url: /(.*)
static_files: htdocs/\1
upload: htdocs/(.*)
これで、拡張子.pyのファイル以外は、すべてhtdocsディレクトリーの中が参照されるようになります。
また、URLの末尾が/の場合はそのディレクトリーのindex.htmlを参照することになります。
そこで、htdocsディレクトリーを作って、htmlやcss,js,img等その中に普通におきます。
pyも本当はhtdocsの中に入れたいのですが、ローカルではうまく行ったもののサーバー上で500エラーが出てしまったため、
とりあえずpyだけはアプリ直下に置いてください。
appserver.py twkでローカルサーバー上で動かしてみてください。
http://localhost:8080/ が、アプリの /twk/htdocs/index.html を参照することになります。見えますか?
見えたら、さっきと同様、appcfg.py update twkでデプロイです。
うーん、ftpで転送するよりも簡単かも。
これ、ほんとにいいのかな? けど、だめになったとしても、一回pythonに処理させれば同じことできちゃうから、いいのかな。
