Django + Apache + Mod_wsgi cuasing 500内部服务器错误(附加日志)

时间:2015-04-04 12:05:54

标签: python django apache virtualenv

Django WSGI Script Won't load due to a Python issue

经过一天的研究,仍然无法解决问题。 服务器处于联机状态,使用网站使用 virtulenv Windows 8-64bit,python34,Wamp server apache 64bit

内幕:

Listen 8080
NameVirtualHost 127.0.0.1:8080
<VirtualHost *:8080> 
ServerAdmin admin@hotmail.com
ServerName 192.168.0.101:8080 
DocumentRoot "C:/wamp/www/venv/testweb10/testweb10"  
</VirtualHost>

WSGIScriptAlias / "C:/wamp/www/venv/testweb10/testweb10/wsgi.py"
WSGIPythonPath "C:/wamp/www/venv/Lib/site-packages"

<Directory "C:/wamp/www/venv/testweb10">
        <Files wsgi.py>
            Order deny,allow
            Require all granted
        </Files>
</Directory>

Settings.py

DEBUG = True

ALLOWED_HOSTS = ['testweb10']

主机

127.0.0.1       testweb10

我怀疑是否有python兼容性问题

用户变量路径:

C:\WINDOWS\system32;C:\Python34;C:\Python34\python.exe;C:\Python34\Scripts;C:\Python34\Lib\site-packages\django\bin;

enter image description here

请帮助

4 个答案:

答案 0 :(得分:4)

你是否在wsgi.py中提到了你的virtualenv?这是我在Linux上使用的模板,例如:

import site
site.addsitedir('/home/mysite/venv/lib/python2.7/site-packages')
import os
import sys
sys.path.append('/home/mysite/mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

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

这是Django 1.6顺便说一句。 Django 1.7在wsgi.py中有一些差异

对于Django 1.7,最后两行是:

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

答案 1 :(得分:0)

WSGIPythonPath 必须包含项目的根目录。

  

用于指定其他目录以搜索Python模块。   如果指定了多个目录,则应将它们分隔开   &#39;:&#39;如果使用类似UNIX的系统,或者&#39 ;;&#39;如果使用Windows。

WSGIPythonPath = "C:/wamp/www/venv/testweb10/testweb10;C:/wamp/www/venv/Lib/site-packages"

答案 2 :(得分:0)

最终以下似乎适用于Django 1.8

import site

site.addsitedir( “C:/ Python34 / LIB /站点包”)

import os
import sys
sys.path.append("C:/wamp/www/venv/testweb10/testweb10")

from django.core.wsgi import get_wsgi_application

os.environ["DJANGO_SETTINGS_MODULE"] = "testweb10.settings"

application = get_wsgi_application()

但现在收到错误:( [mpm_winnt:notice] [pid 3788:tid 688] AH00455:Apache / 2.4.9(Win64)mod_wsgi / 4.4.10配置Python / 3.4.3 PHP / 5.5.12 - 恢复正常操作

答案 3 :(得分:0)

对于有相同问题的人:

一些建议(也适合我自己):

每个组件的版本都很重要

1)以干净的方式安装Appache或Wamp服务器。 Makesure删除旧的注册表。

2)获取Mod_WSGI并仔细按照安装说明进行操作!!!

2.5)如果没有Django

工作正常,请测试Mod_WSGI

3)最后一步是安装python,Django,并设置环境和conf。

4)测试和部署