Apache HTTP Server で WSGI 環境の構築 ( mod_wsgi のインストール )
Apache HTTP Server で WSGI 環境の構築をしてみたので、メモに残しておきます。
WSGI 実装したモジュール mod_wsgi があるので、こいつを使用します。
・modwsgi - Python WSGI adapter module for Apache. - Google Project Hosting
https://code.google.com/p/modwsgi/
1. ソースコードのダウンロード、展開
以下からダウンロードして、展開しておく
・Releases · GrahamDumpleton/mod_wsgi · GitHub
https://github.com/GrahamDumpleton/mod_wsgi/releases
wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.4.13.tar.gz tar zxvf 4.4.13 cd mod_wsgi-4.4.13/
2. コンパイル
今回は、OS 同梱の Python ではなくてソースコードからコンパイルした方を使いたかったので、--with-python を指定して ./configure する。
./configure --with-python=/usr/local/python/3.4.3/bin/python3
※ コンパイルした Apache の apxs 使いたい場合は --with-apxs を指定する。こうしておくと、こっちの Apache 側の modules ディレクトリに mod_wsgi.so が配置されるはず。
make、make install する。
make make install
すると、/etc/httpd/modules/ に mod_wsgi.so が配置されているはずです。
[root@centos62 mod_wsgi-4.4.13]# ls /etc/httpd/modules/ | grep wsgi mod_wsgi.so
※ 1、2 は以下のドキュメントが参考になります。
・QuickInstallationGuide - modwsgi - Quick installation guide for mod_wsgi. - Python WSGI adapter module for Apache. - Google Project Hosting
https://code.google.com/p/modwsgi/wiki/QuickInstallationGuide
3. 動作確認
以下のように Apache の設定ファイルの編集、サンプルコードを作成する。
LoadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias / /var/www/html/wsgi-scripts/ <Directory /var/www/html/wsgi-scripts> Order allow,deny Allow from all </Directory>
■ /var/www/html/wsgi-scripts/myapp.wsgi
def application(environ, start_response): status = '200 OK' response_headers = [('Content-type', 'text/plain')] start_response(status, response_headers) return [b"Hello World!"]
上記完了後、Apache 起動して、Web ブラウザから「http://localhost/myapp.wsgi」にアクセスすると「Hello World!」と表示されるはずです。
※ 3 は以下のクイックガイドが参考になります。
・QuickConfigurationGuide - modwsgi - Quick configuration guide for mod_wsgi. - Python WSGI adapter module for Apache. - Google Project Hosting
https://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
mod_wsgi のディレクティブについては、以下のドキュメントに情報があります。
・ConfigurationDirectives - modwsgi - The mod_wsgi configuration directives. - Python WSGI adapter module for Apache. - Google Project Hosting
https://code.google.com/p/modwsgi/wiki/ConfigurationDirectives
以上です。
[ 環境情報 ]
CentOS 6.2
Apache HTTP Server 2.2.15
Python 3.4.3
mod_wsgi 4.4.13