PythonでFalconを試す

Falcon

Falcon is a very fast, very minimal Python web framework for building microservices, app backends, and higher-level frameworks.

というわけで高速で最小なWebフレームワークです
とりあえず実際にApache上で動かすところまで試したのでメモだけ
Windows上でテストしてUbuntuのApacheで動かしてみた

こちらのQiitaの記事が参考になります というかほぼ丸パクリです

インストール

1$ pip install falcon

おわり

テスト

公式のサンプルに参考記事の

1if __name__ == "__main__":
2    from wsgiref import simple_server
3    httpd = simple_server.make_server("127.0.0.1", 8000, app)
4    httpd.serve_forever()

の部分を借りてきて実行してlocalhost:8000/quoteを見て問題なければOK

Apache上で動かす

とりあえずこんな感じの想定で
設置場所:/var/falcon/fuga
URL:http://serverurl/falcon/fuga

さっきのコードをmain.pyって名前にして/var/falcon/fuga/main.pyに配置

 1$ sudo apt-get install apache2 libapache2-mod-wsgi
 2$ sudo vi /etc/apache2/sites-available/000-default.conf
 3<VirtualHost *:80>
 4        ServerName hoge.com
 5        DocumentRoot /var/www/html
 6        <Directory "/var/www/html">
 7                Require all granted
 8        </Directory>
 9        <Directory "/var/falcon/fuga">
10                Require all granted
11        </Directory>
12
13        WSGIDaemonProcess hoge.com user=www-data group=www-data threads=5
14        WSGIProcessGroup hoge.com
15        WSGIScriptReloading On
16        WSGIPassAuthorization On
17        WSGIScriptAlias /falcon/fuga /var/falcon/fuga/app.wsgi
18</VirtualHost>

そんでもって
/var/falcon/fuga/app.wsgi
をつくる

 1# -*- coding:utf-8 -*-
 2
 3import sys, os
 4
 5import logging
 6logging.basicConfig(stream = sys.stderr)
 7
 8sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
 9
10from main import app as application

http://serverurl/falcon/fuga/quote

にアクセスしてみて実行できてるか確認する
実際に置く時の設定方法が見つけられなかったけどこれで良いんだろうか・・・
riot少し触ってみたから組み合わせてなんか作ってみたいかな