Python > Apache? > mod_wsgi

インストール(Ubuntu 10.10)

# apt-get install ligapache2-mod-wsgi

動作確認

スクリプトファイルの作成

/var/www/wsgi-script/myapp.wsgi に以下を記述する。

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

Apache の設定

default ファイルに以下を追記。

WSGIScriptAlias /myapp /usr/local/www/wsgi-scripts/myapp.wsgi

    <Directory /usr/local/www/wsgi-scripts>
    Order allow,deny
    Allow from all
    </Directory>

確認

http://127.0.0.1/myapp にアクセスして、

Hello World!

と表示されたら正常動作。スクリプトファイルのディレクトリは移動して再設定したほうがいい。


エラー

Apache のエラーログによる対処

  • Target WSGI script not found or unable to stat: /..../wsgi-scripts
    1. Apacheの<Directory ... >が間違っている
    2. WSGIScriptAlias の設定が間違っている
    3. ディレクトリ・ファイルの権限

参考URL

最終更新:2011年10月31日 00:55