
BayServerのWSGIサポート
Python版BayServerの開発の一番の目的は、DjangoなどのWSGIアプリケーションを効率よく動かすことにあります。
WSGIはPythonでWebアプリケーションを構築するための標準インタフェースであるため、これに準拠したアプリケーションやフレームワークは沢山あるわけですが、大規模な運用となるとNginxやUnicornなどのスケーラブルで高速な仕組みに頼らざるを得ません。
しかし、これらのソフトウェアを使ったシステムの運用はとても大変で、設定だけで大変頭を悩ませられます。
そこで、Baykitは、BayServerをWSGIアプリケーションをサポートするPython製のWebサーバーを開発しました。
これにより、ハイ・パフォーマンスな仕組みを持つBayServer上でPython製のWebアプリケーションを効率よく実行でき、NginxやUnicornなどの既存の仕組みが不要になります。
つまり、C言語で作られたWebサーバに頼ることなく、100% Pure Pythonな状態でWebアプリケーションを運用できるということです!!
現状、Wagtailなどの主要なソフトウェアでは動作確認が取れていますが、その他にも動いた!動かなかった!などの報告をサポートに寄せいていただけるとありがたいです。
maccaferriドッカー
BayServerのWSGIサポートは「ドッカー」と呼ばれるBayServer拡張機能を用いて実現されています。
WSGIをサポートするドッカーは「maccaferriドッカー」になります(※1)。maccaferriドッカーを特定のパスに対して起動するよう設定することで、BayServer上でWSGIアプリケーションを動かすことができます。
maccaferriドッカーの名前の由来はDjangoから来ています。ジプシー・ジャズの開祖として知られるジャンゴ・ラインハルト (Django Reinhardt)というギタリストは、薬指と小指が動かなかったため、人差し指と中指というたった2本の指でギターを弾いていたそうです。しかも指の動きが超絶速く、2本指で弾いているとはとても思えないプレイだったそうです!
そんなジャンゴの凄さにあやかって、当時ジャンゴの使用していたギターの名称であるmaccaferri(マカフェリ)を名前に使いました。
(※1)バージョン2.0.X では名称は 「banjoドッカー」でした。
WSGIデモを動かす
BayServerでWSGIアプリケーションが動作することを確認するために、WSGIデモを動かしてみましょう。
インストールしたBayServerを起動し、トップページにアクセスすると、WSGIデモへのリンクがあるのでクリックします。

WSGI DemosをクリックするとWSGIのデモをいくつか動かすことができます。

maccaferriドッカーの設定
基本的なmaccaferriドッカーの設定は以下のようになります。
[town /wsgi-demo/]
location www/wsgi-demo
[club *]
docker maccaferri
project /var/www/html/wsgi-demo
module mymodule
app application