2013年6月23日日曜日

CentOS 5.x に mod_wsgi をインストールする

mod_wsgi は、Python を apache で動作させるためのモジュールである。
同様の機能は、古くは mod_python が担っていたが、シンプルで高速な mod_wsgi に注目が集まっている。
なお、apache がインストールされていることを前提とする。

まず、httpd-devel および python26-devel、python26-mod_wsgi をインストールしておく。
yum install httpd-devel python26-devel python26-mod_wsgi --enablerepo=epel
起動確認用のテストスクリプトを作成する。
vim /var/www/cgi-bin/test.py
import sys

def application(environ, start_response):
        status = "200 OK"
        output = sys.version

        response_headers = [("Content-type", "text/plain"),
                            ("Content-Length", str(len(output)))]
        start_response(status, response_headers)
        return [output]
上述のインストールの結果、apache の設定ファイルが /etc/httpd/conf.d/python26-mod_wsgi.conf に作成されているので、これに WSGIScriptAlias を追加する。
WSGIScriptAlias /test /var/www/cgi-bin/test.py   # この行を追加

<IfModule !python_module>
    <IfModule !wsgi_module>
        LoadModule wsgi_module modules/python26-mod_wsgi.so
    </IfModule>
</IfModule>
対象のURLへアクセスし、python2.6 のバージョン情報が表示されれば、適切にインストールされていることが確認できる。
curl http://localhost/test

2.6.8 (unknown, Nov  7 2012, 14:47:34)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)]

0 件のコメント:

コメントを投稿