django - ImportError : No module named django. core.handlers.wsgi 在 apache 上安装 django mod_wsgi 配置

标签 django apache configuration installation mod-wsgi

我尝试安装 django 以与 apache 和 mod_wsgi 一起工作,但出现此错误:

ImportError: No module named django.core.handlers.wsgi,

我读到这可能是用户错误......

在控制台 (ssh) 上,使用 root 访问权限,我访问 django.core.handlers.wsgi 没有任何问题,但是当 apache 要求访问它时,它不能

我的 django.wsgi:

import os
import sys

sys.path.append('my/rep/parents/of/my/project')
sys.path.append('/usr/lib/python2.4/site-packages/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'montest.settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp'


import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

我的虚拟主机配置文件:

Alias /media/ my/rep/parents/of/my/projet/montest/media/

<Directory my/rep/parents/of/my/projet/montest/media>
    Order deny,allow
    Allow from all
</Directory>

WSGIScriptAlias /montest my/rep/parents/of/my/projet/django.wsgi

<Directory my/rep/parents/of/my/projet>
    Order deny,allow
    Allow from all
</Directory>

编辑:

好的,我的结果是 ldd mod_wsgi.so

linux-gate.so.1 => (0x0013c000) 
libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00663000) 
libpthread.so.0 => /lib/libpthread.so.0 (0x00bff000) 
libdl.so.2 => /lib/libdl.so.2 (0x0023b000) 
libutil.so.1 => /lib/libutil.so.1 (0x00420000) 
libm.so.6 => /lib/libm.so.6 (0x00110000) 
libc.so.6 => /lib/libc.so.6 (0x00240000) /lib/ld-linux.so.2 (0x0059f000) 

所以我决定用 test.wsgi 测试我的 mod_wsgi 安装

测试.wsgi

def application(environ, start_response): 
    status = '200 OK'
    output = 'Hello world, I am a wsgi app!' 
    response_headers = [('Content-Type', 'text/plain'), ('Content-Length', str(len(output)))] 
    start_response(status, response_headers) 
    return [output]

我的虚拟主机配置文件:

WSGIScriptAlias /test /var/www/vhosts/mydomain.fr/subdomains/django/httpdocs/test.wsgi 
<Directory /var/www/vhosts/mydomain.fr/subdomains/django/httpdocs> 
    Order allow,deny 
    Allow from all 
    Options +ExecCGI 
</Directory> 

它现在可以工作了...接下来我将尝试我的 django.wsgi 配置

最佳答案

我通过添加站点包的位置解决了这个问题,我将 django 子目录 (/Library/python/2.7/site-packages) 保存到 WSGIDaemonProcess:

WSGIDaemonProcess www.example.com processes=2 threads=15 display-name=%{GROUP} 
    python-path=/Library/python/2.7/site-packages

如果您使用嵌入式服务器模式,请在 httpd.conf 中使用:

WSGIPythonPath /Library/python/2.7/site-packages

关于django - ImportError : No module named django. core.handlers.wsgi 在 apache 上安装 django mod_wsgi 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3584713/

相关文章:

apache - 在 Apache 中以单一重定向重定向到 https 和 www

git - Netbeans 中缺少(明显)Git 按钮

php - 应该使用哪个 $_SERVER 变量?

virtualhost - 我想为图像创建一个单独的域

java - 服务于多个上下文的单个虚拟 tomcat 应用程序

android - android应用程序中的proguard

django - 关于 Django 表单中单选按钮的一些问题

Django模型: Why the name clash?

python - 这是Django教程的问题还是包的问题,​​还是我的问题?

python - 在SQL中插入时如何刷新django连接