投稿日:

MacOSX Lion + MAMP + WSGI で Python の HelloWorld


表題通りですが、MacOSX Lion 上の MAMP で Python WSGI Web Application を動かす為のセットアップめもです。
ネットに色々と情報はあるのですが、画像とかを静的にアクセスするための情報などと一緒になったものは見当たらなかったので、ここにメモしておきます。なお、本記事は次のツールは準備済のお話です。

  • MAMP(http ポートを80番に変更)
  • Python
  • Homebrew

では、まずは mod_wsgi をインストールします。
コンソールを立ち上げて Homebrew でインストールします。
超ー簡単です。

実行するとインストールログがツラツラと表示されますが、その中に、丁寧に以下のような説明まで書いてあります。このパスが mod_wsgi 本体っすね。探さなくと良いので、ちょっと嬉しい配慮です。

上記の情報をもとに、httpd.conf に mod_wsgi を登録します。

僕的に httpd.conf には MAMP の modules のパスを記述したかったので、シンボリックリンクを作成しました。

それから MAMP の httpd.conf を変更します。

次の行を追加。

それから、wsgi アプリケーションのエントリポイントを WSGIScriptAlias で登録します。

僕の場合、MAMP でバーチャルホストしてるので以下のような記述になりました。

WSGIScriptAlias が、wsgi アプリケーションのエントリポイントとなる Python スクリプトのパスです。ここでは、Alias で記述された項目を除いてルート以下の全てのリソースへのアクセスを /wsgi/public/main.py に送っています。

Alias の記述は、favicon や javascript、画像ファイルなどを静的に表示するためのおまじないです。ww
この記述が無いと、全てのリクエストは /wsgi/public/main.py に送られます。
ここでは、 /style/、/lib/、/media/ 以下の全てのファイルと、robots.txt、favicon.ico を、静的にアクセスできるように設定しています。

 

仕上げに、バーチャルホストの為に hosts にエントリを追加します。

 

あとはアプリケーションをごにょごにょと準備します。

/wsgi/public/main.py

以上です。

ブラウザで http://dev.wsgisample.jp/ へアクセスすると Hello World! が表示されます。

参考

 

 

コメントを残す