centos - apache配置django報(bào)錯(cuò):cannot be loaded as Python modules
問(wèn)題描述
平臺(tái):Centos5 ECS上的django版本1.6apache版本2.2通過(guò)mod_wsgi將django項(xiàng)目配置到apache上一直沒(méi)有成功,單獨(dú)測(cè)試wsgi可以訪問(wèn),django單獨(dú)跑runserver也可以跑通項(xiàng)目路徑:
/var/www/html`-- mysite |-- manage.py |-- mysite | |-- __init__.py | |-- __init__.pyc | |-- media | |-- settings.py | |-- settings.pyc | |-- static | |-- urls.py | |-- wsgi.py | `-- wsgi.pyc `-- wsgi`-- django.wsgi
通過(guò)startproject創(chuàng)建的項(xiàng)目,單獨(dú)runserver可以跑通,新增了wsgi文件夾以及django.wsgi配置文件
httpd.conf文件中添加了:
LoadModule wsgi_module modules/mod_wsgi.so<VirtualHost *:80> ServerAdmin root@localhost DocumentRoot /var/www/html ServerName 121.40.202.235 ErrorLog 'logs/error_log' CustomLog 'logs/access_log' common WSGIScriptAlias / /var/www/html/mysite/wsgi/django.wsgi <Directory /var/www/html/mysite> Order deny,allow Allow from all </Directory></VirtualHost>
django.wsgi文件:
import osimport sysimport django.core.handlers.wsgios.environ[’DJANGO_SETTINGS_MODULE’]= ’mysite.settings’sys.path.append(’/usr/local/lib/python2.7/site/packages’)app_path = os.path.dirname(__file__)if app_path not in sys.path:sys.path.append(app_path)application =django.core.handlers.wsgi.WSGIHandler()
重啟apache服務(wù)器沒(méi)有問(wèn)題,訪問(wèn)網(wǎng)址后報(bào)錯(cuò)日志為:
[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] mod_wsgi (pid=18776): Target WSGI script ’/var/www/html/mysite/wsgi/django.wsgi’ cannot be loaded as Python module.[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] mod_wsgi (pid=18776): Exception occurred processing WSGI script ’/var/www/html/mysite/wsgi/django.wsgi’.[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] Traceback (most recent call last):[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] File '/var/www/html/mysite/wsgi/django.wsgi', line 3, in ?[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] import django.core.handlers.wsgi[Fri Oct 17 21:19:18 2014] [error] [client 117.89.63.242] ImportError: No module named django.core.handlers.wsgi
問(wèn)題解答
回答1:不需要django.wsgi這個(gè)文件,把WSGIScriptAlias 指向mysite/wsgi.py
回答2:搞uwsgi,so的搞法完全是PHP的玩法,不夠Nice。
相關(guān)文章:
1. javascript - 使用form進(jìn)行頁(yè)面跳轉(zhuǎn),但是很慢,如何加一個(gè)Loading?2. javascript - ES6規(guī)范下 repeat 函數(shù)報(bào)錯(cuò) Invalid count value3. python 計(jì)算兩個(gè)時(shí)間相差的分鐘數(shù),超過(guò)一天時(shí)計(jì)算不對(duì)4. angular.js - angularjs 注入模塊報(bào)錯(cuò) 很怪異... 求解惑5. javascript - JS 里面的 delete object.key 到底刪除了什么?6. angular.js - 輸入郵箱地址之后, 如何使其自動(dòng)在末尾添加分號(hào)?7. mysql - 電商如何存儲(chǔ)營(yíng)業(yè)額數(shù)據(jù)8. java如何生成token?9. html5 - 為什么使使用vue cli 腳手架,post-css 沒(méi)有自動(dòng)對(duì)css3屬性自動(dòng)添加瀏覽器前綴呢?10. javascript - html5的data屬性怎么指定一個(gè)function函數(shù)呢?
