windows xp で apacheでwsgiでpythonを動かす
ゾンビOSとともにいきるゾンビSEがほとんど需要がなさそうなことをお届け。
下記の方法は、日本語はエラーになる。
でもFlaskはOKなのでやって丸損ではない。
pythonが入っている前提。windowsのインストーラでふつーにいれる。
modwsgihttps://code.google.com/p/modwsgi/のサイトから、自分がいれるApacheとpythonのバージョンにあった組み合わせをダウンロードする。英語だが、Download、windows、binaryとかをキーワードにして探してダウンロードする。多分ここになかったらあきらめるがよし。解凍したら拡張子が「.so」というファイルができる。拡張子違ってたら間違い。
Apachehttps://httpd.apache.org/のサイトから、2.2系の最新の
Win32 Binary including OpenSSL 0.9.8t (MSI Installer) を ダウンロード。
なんとなくこれがよさそうなので。
インストールのときに気をつけるのはディレクトリぐらい。
Apacheをインストールしたフォルダの下の、modulesフォルダに、ダウンロードしてきたmodwsgiの拡張子が「.so」のファイルをおく。その際にファイル名は「mod_wsgi.so」に変えておく。
pythonのwsgiのアプリ用のフォルダをどこかにつくる。c:\wsgi_app とする。そこに空っぽでいいのでとりあえず wsgi_handler.py というファイルをUTF-8で作っておく。
Apacheをインストールしたフォルダの下の、confフォルダのhttpd.confというファイルをエディタで編集する。心配な人はバックアップとっとく。「」という文字列で検索して、一番最後の下に、以下を追加する。
ウィンドウズのパスはスラッシュなので注意。
WSGIScriptAlias /wsgi "c:/wsgi_app/wsgi_handler.py" <Directory "c:/wsgi_app"> AllowOverride None Options None Order deny,allow Allow from all </Directory>
c:\wsgi_app\wsgi_handler.pyを編集する。
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を起動する
起動時にエラーになったらコンフィグテストする
winXPの場合 スタート→すべてのプログラム→Apache HTTP Server 2.2 → Configure Apache Server → Test Configuration
起動したら
http://127.0.0.1/wsgi
にアクセス。
Hello Worldとかでてきたら一応OK