我把我的django網站第一次投入生產,所以請原諒我的無知。在apache上設置django(mod_wsgi,virtualenv)
我想把我的django網站放在apache上。我讀過有關mod_wsgi的文檔,並嘗試過簡單的Hello World,因此它被配置成OK。我遇到的問題似乎是與它一起使用virtualenvs。我想要正確設置包括virtualenvs和所有東西,以便爲將來的網站做好準備。
現在的問題。
我收到的Apache日誌的錯誤是:
No module named django.core.handlers.wsgi
所以它似乎不正確讀取我的virtualenvs。
這是我的WSGI腳本:
import os
import sys
import site
site.addsitedir('/home/user/.virtualenvs/myapp/lib/python2.7/site-packages')
path = '/home/user/django/myapp/myapp'
if path not in sys.path:
sys.path.append(path)
sys.stdout = sys.stderr
print sys.path
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
這是Apache的錯誤日誌。我打印出sys.path,以便看到它的樣子。
[Tue Jun 05 14:54:07 2012] [error] ['/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/PIL', '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info', '/home/user/.virtualenvs/myapp/lib/python2.7/site-packages', '/home/user/django/myapp/myapp']
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] mod_wsgi (pid=1039): Target WSGI script '/srv/http/wsgi_scripts/myapp.wsgi' cannot be loaded as Python module.
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] mod_wsgi (pid=1039): Exception occurred processing WSGI script '/srv/http/wsgi_scripts/myapp.wsgi'.
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] Traceback (most recent call last):
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] File "/srv/http/wsgi_scripts/myapp.wsgi", line 17, in <module>
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] import django.core.handlers.wsgi
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] ImportError: No module named django.core.handlers.wsgi
如果您有任何建議或已經有類似的問題,請幫助。
感謝
您使用了什麼特權? 775所有目錄? – Egel