win7下Apache2.4+mod_wsgi+django1.6+python3.4配置

最近在學習django,並在windows64下用django搭建一個功能簡單的web,採用django自帶的runserver測試是正常的,現進行Apache下的部署出現了不少問題,歡迎你們指正,謝謝。python

python版本:3.4.3 64bit
django版本:1.6
django項目的目錄結構爲:
E:\web
--web
--__init__.py
--settings.py
--urls.py
--wsgi.py
--manage.py
Apache安裝
http://www.apachelounge.com/download/VC10/下載,我下載的是httpd-2.4.17-vc10-win64.zip版本,安裝在C:\apache
修改Apache目錄的配置文件http.conf
Define SRVROOT "c:/apache/Apache24"
ServerRoot "${SRVROOT}"
並相應路徑爲安裝路徑
此時打開瀏覽器訪問localhost,顯示it works!(來源於Apache24/htdocs下的文件),說明apache安裝成功
mod_wsgi安裝:
1.在 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下載,我下載的是:mod_wsgi-4.4.21_ap24vc10-cp34-none-win_amd64.whl
將whl後綴改成zip解壓便可,將文件mod_wsgi.so拷至apache的module目錄下,並修改http.conf:
LoadModule wsgi_module modules/mod_wsgi/mod_wsgi.so
此時再啓動apache,前幾天我都出現了 ImportError: No module named 'encodings'問題,多是缺乏環境變量:PYTHONPATH、 PYTHONHOME, 添加PYTHONPATH,如:C:\Python34\Lib,添加 PYTHONHOME,如 C:\Python34,我就是這樣解決的。
2.修改wsgi.py文件,參考網上的寫法:
import os
import django.core.handlers.wsgi
import sys
sys.path.append('E:\web')
sys.path.append('E:\web\web')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings")
application = django.core.handlers.wsgi.WSGIHandler()
3.繼續配置http.conf文件,增長行(暫未添加靜態文件配置):
#指定項目路徑
WSGIPythonPath E:/web
#指定web項目的wsgi.py配置文件路徑
WSGIScriptAlias /web E:/web/web/wsgi.py
<Directory e:/web/web>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
然而,再啓動服務器以後,訪問localhost,仍能正常顯示It works!
可是訪問項目localhost/web,日誌裏又出新的錯誤了:
[Wed Oct 28 14:50:56.492904 2015] [wsgi:error] [pid 12224:tid 908] [client ::1:3879] mod_wsgi (pid=12224): Target WSGI script 'E:/web/web/wsgi.py' cannot be loaded as Python module.
[Wed Oct 28 14:50:56.492904 2015] [wsgi:error] [pid 12224:tid 908] [client ::1:3879] mod_wsgi (pid=12224): Exception occurred processing WSGI script 'E:/web/web/wsgi.py'.
不知道是哪裏配置錯了呢?請你們幫我批評指正。
相關文章
相關標籤/搜索