Python3.5 + mod_wsgi + Apacheを Macで動かすメモ

  • 2
    Like
  • 0
    Comment
More than 1 year has passed since last update.

一時間くらい悩んだからメモ

mod_wsgiをインストール

pip3.5 install mod_wsgi

httpd.confに以下を追記(最下段でいい)

/etc/apache2/httpd.conf
LoadModule wsgi_module /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-darwin.so
WSGIScriptAliasMatch ^/wsgi-bin/((?!(?i:webobjects)).*$) /your/wsgi/script/dir/$1 #テスト用のファイル置き場のpath

<Directory /your/wsgi/script/dir/>
Order deny,allow
Allow from all
</Directory>

この/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-darwin.so
のpathをインストール時に把握しておく必要がある。これで詰まった。
バージョン変わったらモジュール名も変わると思う。

Apacheの再起動

sudo apachectl restart

httpd.confに設定したディレクトリにテストコードを置いて動作するか確認する

/your/wsgi/script/dir/test.py
def application(environ,start_response):
    status = '200 OK'
    response_header = [('Content-type', 'text/plain')]
    start_response(status, response_header)
    return [b"Hello World"]

権限付与忘れない

/your/wsgi/script/dir/
chmod 755 test.py

http://localhost/wsgi-bin/test.pyにブラウザからアクセスして
Hello Worldが出たらおっけー