BayServerでDjangoなどのWSGIアプリケーションを使用する

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

Twitterでフォローしよう

おすすめの記事