WSGIデプロイを使用してApacheにDjango(virtualenvにあります)をデプロイしようとしています。https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/のデフォルトのチュートリアルに従っています
wsgi.py(Djangoが生成したデフォルトのもので、コメントは削除されています):
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
apache2.conf(Debianだけで同じhttpd.conf)。これを最後に追加しました:
WSGIScriptAlias / /home/user/Desktop/expofit/expofit_hg/py/server/server/wsgi.py
WSGIDaemonProcess example.com python-path=/home/user/Desktop/expofit/expofit_hg/py/server:/home/user/Desktop/expofit/expofit_env/lib/python2.7/site-packages
WSGIProcessGroup example.com
<Directory /home/user/Desktop/expofit/expofit_hg/py/server/server>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Alias /static/ /home/user/Desktop/expofit/expofit_hg/py/server/server/static
<Directory /home/user/Desktop/expofit/expofit_hg/py/server/server/static>
Order deny,allow
Allow from all
</Directory>
ただし、これはエラーで終了します。
[Thu Dec 06 17:08:40 2012] [error] [client 192.168.56.1] ImportError: No module named django.core.wsgi
以来、標準のPythonにアクセスできるようです。
import os
エラーは発生しません。したがって、virtualenvからインポートされたモジュールはインポートできないようです。チュートリアルによると:
デーモンモードを使用する場合に上記の構成に必要なさらなる変更は、WSGIPythonPathを使用できないことです。代わりに、WSGIDaemonProcessへのpython-pathオプションを使用する必要があります。次に例を示します。
WSGIDaemonProcess example.com python-path=/path/to/mysite.com:/path/to/venv/lib/python2.7/site-packages
WSGIProcessGroup example.com
私は何が欠けていますか?