Python 无法在带有mod wsgi的Apache上部署django

Python 无法在带有mod wsgi的Apache上部署django,python,django,python-2.7,mod-wsgi,Python,Django,Python 2.7,Mod Wsgi,我一直在开发一个Django应用程序,我已经准备好转移到生产服务器。我已经安装了Apache和mod_wsgi,我使用了一个测试来检查它是否都能正常工作,它确实能正常工作。但现在我在让它与Django一起工作时遇到了问题 我已经创建了wsgi.py文件: import os import os.path import sys sys.path.append('/var/www/html/mideastinfo/lib/python2.7/site-packages/django/bin/mi

我一直在开发一个Django应用程序,我已经准备好转移到生产服务器。我已经安装了Apache和mod_wsgi,我使用了一个测试来检查它是否都能正常工作,它确实能正常工作。但现在我在让它与Django一起工作时遇到了问题

我已经创建了wsgi.py文件:

import os
import os.path
import sys


sys.path.append('/var/www/html/mideastinfo/lib/python2.7/site-packages/django/bin/mideastinfo')
#os.environ['PYTHON_EGG_CACHE'] = 'path to a directory for egg cache'
os.environ['DJANGO_SETTINGS_MODULE'] = 'mideastinfo.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandlers()
我通过WGSIScriptAlias将http.conf指向它。它不工作,我知道它与sys.path有关,我不知道该怎么办


我有一个开发环境,在这个环境中我完成了所有的构建。然后,我将所有项目依赖项安装到服务器用户pip和requirements.txt上。然后,我把我的项目文件移了过来。但是我认为我把所有的映射和路径都搞错了。有什么想法吗?我觉得我离完成这项工作还有一步之遥。

我将分享我如何配置一个简单的示例:

import os,sys
apache_configuration = os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace)
sys.path.append('PATH TO YOUR PROJECT ROOT')

os.environ['DJANGO_SETTINGS_MODULE'] = 'mideastinfo.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
在Apache配置上的VirtualHost指令中,您必须具有:

WSGIScriptAlias / /PATH/TO/YOUR/.wsgi
例如:

<VirtualHost *:80>
    ErrorLog /home/user/logs/error.log
    ...
    WSGIScriptAlias / /PATH/TO/YOUR/.wsgi
    ...
</VirtualHost>

ErrorLog/home/user/logs/error.log
...
WSGIScriptAlias//PATH/TO/YOUR/.wsgi
...

application=django.core.handlers.wsgi.WSGIHandlers()[Mon Sep 29 19:13:07 2014][error][client 157.55.39.217]AttributeError:“module”对象没有属性“WSGIHandlers”,当您>python manage.py shell并导入django.core.handlers.wsgi时会发生什么?没有,没有报告,您在“项目根目录路径”上放了什么?您的项目是否在/var/www/html/mideastino/lib/python2.7/site-packages/django/bin/mideastino中?你把wsgi.py放在哪里了?是的,你引用的是我作为项目根目录的路径。我认为这就是问题所在。wsgi.py文件位于var/www/html/wsgi.py。我把东西搬来搬去,收紧了项目路线。此外,我还意识到,对于我的版本,最后两行是去种族化的,因此我使用了django.core.wsgi import get\u wsgi\u application application=get\u wsgi\u application()