Apache+WSGI

Apache+WSGI

Apache 2.2
mod_wsgi 3.0

Windowsに環境を作っていく。

まずはバージョンを確認する。
Pythonのバージョンは2.7.3、mod_wsgiの対応はpython2.7だが多分大丈夫と判断。
さらにmod_wsgiが対応しているApacheは2.2。

ってな感じでバージョンを確認してインストールしていく

インストール、設定

ApacheのWindows対応のインストーラーをダウンロード。
テスト用なのでホスト名、ドメイン名はlocalhostを使用する。
インストール時に指定するが、httpd.confで後から変えられるので適当でもいい。
サービスとしてインストールしておけば起動停止が楽ちん。

次に、mod_wsgi.so をダウンロードし、Apacheインストールディレクトリのmodulesに入れておく。他に必要なものはない。

conf/httpd.conf を設定する。
実際に書いた内容はこんな感じ

Alias /static/css C:\Users\user\django\dinodon\static\css
Alias /static/js  C:\Users\user\django\dinodon\static\js
Alias /static C:\Users\user\django\dinodon\static
↑この指定は不要
代わりに、settings.pyのSTATIC_DIRにApacheのドキュメントルート内のstaticディレクトリを指定し、
STATIC_DIR = 'c:\\www\\static'
下のコマンドを実行する。
 manage.py colloectstatic
このコマンドを使用すると、
CSSやJS、画像をまとめてコピーしてくれる。
重複するパスがあると、ランダムに上書きされるので注意。
(新しいファイルが優先されるのか、INSTALLED_APP順で処理されるのか不明)

WSGIScriptAlias / C:\Users\user\django\dinodon\dinodon\wsgi.py
WSGIPythonPath C:\Users\user\django\dinodon
# WSGIPythonHome  "C:\Program Files\python27

<Directory C:\Users\user\django\dinodon\static>
Order deny,allow
Allow from all
</Directory>

<Directory C:\Users\user\django\dinodon\dinodon>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

あとはApacheを再起動すればOK。
上手く行かなかったら、Apacheの設定を変えればたいてい上手く行く。
Pythonのexeにパスが通ってないとか、ディレクトリが間違ってるとか、
Aliasの設定が子ディレクトリが先で親ディレクトリが後になってないとか。
Django側に設定の変更は原則として要らない。
最終更新:2013年04月03日 17:26
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。