昨日の調べで良さそうだったBottleというWAFを使ってみました。
単独で起動
% sudo pip install bottle
% vi hello.py
from bottle import route, run
@route('/')
def index():
return 'Hello Bottle!'
run(host='localhost', port=8080)
デコレータでroutingするところが素敵。(routingと処理が別々の場所にあるのは面倒)
% python hello.py
Bottle server starting up (using WSGIRefServer (localhost:8080))...
Listening on http://localhost:8080/
Use Ctrl-C to quit.
mod_wsgiで起動
% sudo vi /opt/local/apache2/conf/extra/httpd-vhosts.conf
(...)
<VirtualHost *:80>
ServerName hello-bottle
DocumentRoot "/Users/komagata/Sites/hello-bottle"
WSGIDaemonProcess hello-bottle processes=2 threads=15
WSGIScriptAlias / /Users/komagata/Sites/hello-bottle/app.wsgi
</VirtualHost>
mod_wsgi起動の場合はちょっと違う。applicationにclassだか関数だけを入れとけば実行してくれるって感じかな?(勘)
from bottle import route, default_app
@route('/')
def index():
return 'Hello, Bottle! on mod_wsgi'
application = default_app()
django(1日だけのハンズオンセミナーでちょっと触った)、TruboGears(本読んだ)、web.py(何となく眺めた)、Pylons(触れてない)という程度の調べだけど、このBottleに抜群に好感触を得ました。(要はSinatraに似てるからなんだけど)