2013-09-24 59 views
0

我试图安装一个开源的Django应用程序(OSQA),但我得到这个错误:出现异常处理WSGI脚本

[Tue Sep 24 10:37:09 2013] [error] mod_wsgi (pid=82486): Exception occurred processing WSGI script '/home/fuiba/webapps/osqa/osqa.wsgi'. 
[Tue Sep 24 10:37:09 2013] [error] Traceback (most recent call last): 
[Tue Sep 24 10:37:09 2013] [error] File "/home/fuiba/webapps/osqa/lib/python2.7/django/core/handlers/wsgi.py", line 232, in __call__ 
[Tue Sep 24 10:37:09 2013] [error]  self.load_middleware() 
[Tue Sep 24 10:37:09 2013] [error] File "/home/fuiba/webapps/osqa/lib/python2.7/django/core/handlers/base.py", line 42, in load_middleware 
[Tue Sep 24 10:37:09 2013] [error]  raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e)) 
[Tue Sep 24 10:37:09 2013] [error] ImproperlyConfigured: Error importing middleware django.contrib.sessions.middleware: "No module named base" 

这是我osqa.wsgi

import os 
import sys 
sys.path.append('/home/fuiba/webapps/osqa/osqa') 

from django.core.handlers.wsgi import WSGIHandler 
os.environ['DJANGO_SETTINGS_MODULE'] = 'osqa.settings' 
application = WSGIHandler() 

的httpd .conf我有WSGIScriptAlias

WSGISocketPrefix ${APACHE_RUN_DIR} 
WSGIPythonPath /home/fuiba/webapps/osqa:/home/fuiba/webapps/osqa/lib/python2.7 
WSGIScriptAlias//home/fuiba/webapps/osqa/osqa.wsgi 

在apache2目录(/home/fuiba/webapps/osqa/apache2)我与陌生的名字文件:$ {} APACHE_RUN_DIR .47892.0.1.sock

这是什么?

任何帮助表示赞赏。
谢谢!

回答

1

试图通过定义项目和Apache的一般路径重新配置WSGI LIK此例如

osqa.wsgi:

只保留:

import os, sys 

#path to directory of the .wgsi file ('[directory]/') 
wsgi_dir = os.path.abspath(os.path.dirname(__file__)) 

# path to project root directory (osqa '/') 
project_dir = os.path.dirname(wsgi_dir) 

# add project directory to system's Path 
sys.path.append(project_dir) 
sys.path.append('/home/fuiba/webapps/osqa/osqa') 


os.environ['PYTHON_EGG_CACHE'] = '/home/fuiba/webapps/osqa/osqa/.python-egg' 
#add the setting.py file to your system's path 
project_settings = os.path.join(project_dir,'settings') 

#explicitly define the DJANGO_SETTINGS_MODULE 
os.environ['DJANGO_SETTINGS_MODULE'] ='osqa.settings' 

import django.core.handlers.wsgi 
application =django.core.handlers.wsgi.WSGIHandler() 
在http.conf中

虚拟主机中的WSGIScriptAlias,将在wsgi文件中定义的路径

WSGIScriptAlias//home/fuiba/webapps/osqa/osqa.wsgi 
WSGIScriptReloading On 
WSGIProcessGroup domain.com 
WSGIDaemonProcess domain.com user=user processes=10 threads=1 maximum-requests=500 

如果还安装了libapache2_mod_wsgi,它应该可以工作