Cloudfoundryで動くもの
前回さくらVPSにCloudfoundryを入れてみたんだけど(あいかわらずuaaは死んでるけどとりあえず動いているので先にすすんでる)
CloudfoundryをさくらVPSにインストール > 一部エラー > 解決 - ありの日記
それで、cloudfoundry.comで動いているバージョンより、この前インストールした独自環境で動いてるバージョンのほうが対応している言語が増えているので、ちょっと試してみた。
cloudfoundry.comでvmc runtimesを見てみる
現状cloudfoundry.comで動くのはJava, Node.js, Rubyくらいらしい。
$ vmc runtimes +--------+-------------+-----------+ | Name | Description | Version | +--------+-------------+-----------+ | java | Java 6 | 1.6 | | node | Node.js | 0.4.12 | | node06 | Node.js | 0.6.8 | | ruby18 | Ruby 1.8 | 1.8.7 | | ruby19 | Ruby 1.9 | 1.9.2p180 | +--------+-------------+-----------+
独自Cloudfoundryでvmc runtimesを見てみる
この間インストールした環境で動くものを調べてみたら、結構増えてた。
$ vmc runtimes +--------------+---------------+-----------+ | Name | Description | Version | +--------------+---------------+-----------+ | python2 | Python 2.6.5 | 2.6.5 | | node | Node.js | 0.4.12 | | node06 | Node.js | 0.6.8 | | ruby18 | Ruby 1.8.7 | 1.8.7 | | ruby19 | Ruby 1.9.2 | 1.9.2p180 | | java | Java 6 | 1.6 | | erlangR14B02 | Erlang R14B02 | R14B02 | | php | PHP 5 | 5.3 | +--------------+---------------+-----------+
試しにPythonを動かしてみた。
PythonはDjangoとWSGIというフレームワークが使えるらしい。(ちなみに以下は独自サーバでのvmc frameworksの結果)
$ vmc frameworks +------------+ | Name | +------------+ | django | | node | | rack | | wsgi | | rails3 | | java_web | | grails | | lift | | otp_rebar | | php | | standalone | | sinatra | | spring | +------------+
今回はWSGIを使ってみる。適当なディレクトリを掘ってwsgi.pyというファイルを作っておく↓
def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) result = "" for param in environ.keys(): result += "%20s %s\n" % (param,environ[param]) return result
あとは、いつものようにvmc pushするだけ。
$ vmc push Would you like to deploy from the current directory? [Yn]: Application Name: testpy Detected a Python WSGI Application, is this correct? [Yn]: Application Deployed URL [testpy.YOURDOMAIN.com]: Memory reservation (128M, 256M, 512M, 1G, 2G) [64M]: How many instances? [1]: Bind existing services to 'testpy'? [yN]: Create services to bind to 'testpy'? [yN]: Would you like to save this configuration? [yN]: Creating Application: OK Uploading Application: Checking for available resources: OK Packing application: OK Uploading (0K): OK Push Status: OK Staging Application 'testpy': OK Starting Application 'testpy': OK
これで、testpy.YOURDOMAIN.comにアクセスすると、以下の結果が得られる。なんかPython動いてるっぽい。ちなみにPython全然知らないので、Pythonのことは聞かないで。
HTTP_X_FORWARDED_PROTO http SERVER_PROTOCOL HTTP/1.0 SERVER_SOFTWARE gunicorn/0.14.2 SCRIPT_NAME wsgi.input <gunicorn.http.body.Body object at 0x1c3bd50> REQUEST_METHOD GET # 以下略