的Django + Apache的与WSGI得到了“内部服务器错误”

问题描述:

我得到了“500内部服务器错误”,当我试图连接我的Django项目到Apache服务器。的Django + Apache的与WSGI得到了“内部服务器错误”

我尝试很多方法来设置配置文件,包括计算器的一些方法。但我仍然无法解决问题,你能否给我一些进步? 非常感谢!

我的Django项目目录是这样的:

|django 
    |--MySite 
     |--MySite 
      |--wsgi.py 
      |--django.wsgi 
      |--urls.py 
      |--settings.py 
     |--Blog 
      |--__init__.py 
      |--views.py 
      |--models.py 

我的设置如下:

1.httpd-vhosts.conf:

<VirtualHost *:8080> 
    ServerName local.Test 
    WSGIScriptAlias//Users/Hao/django/MySite/MySite/django.wsgi 
    <Directory /Users/Hao/django/MySite/MySite> 
     Options Indexes MultiViews 
     AllowOverride All 
     Require all granted 
     <Files wsgi.py> 
      Require all granted 
     </Files> 
    </Directory> 
</VirtualHost> 

2.django.wsgi:

import os, sys 
sys.path.append('/usr/local/django') 
sys.path.append('/Users/Hao/django') 
sys.path.append('/Users/Hao/django/MySite') 

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

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

3.Finally, I open 127.0.0.1:8080 in browser, and I got "500 Internal Server Error".

感谢。

+0

是你项目的本地主机的Apache配置前运行? – Exprator

+1

你有没有看过Apache错误日志,看看那里列出了哪些错误? –

+0

@Exprator是的,我可以运行项目中使用“蟒蛇manage.py runserver命令” –

你必须定义wsgi.py

<VirtualHost *:80> 
     ServerName local.Test 
     WSGIProcessGroup local.Test 
     WSGIPassAuthorization On 
     WSGIDaemonProcess local.Test python-home=""#must virtual env path python-path=/Users/Hao/django/ 
     WSGIScriptAlias//Users/Hao/django/MySite/MySite/wsgi.py process-group=local.Test 

     <Directory /Users/Hao/django/MySite/MySite> 
       <Files wsgi.py> 
         Require all granted 
       </Files> 
     </Directory> 

</VirtualHost> 

您wsgi.py应该是这样的

import os 

from django.core.wsgi import get_wsgi_application 

import sys 
sys.path.append('/Users/Hao/django/MySite') 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MySite.settings") 
application = get_wsgi_application() 
+0

我可以使用python为“python-home”实际安装的目录吗? –

+0

没有使用虚拟环境或机器级别 – Robert

+0

我使用“哪个python”来获取python的路径。 但它仍显示“WSGI守护进程定义的无效选项”。并得到了错误的行是“WSGIDaemonProcess local.Test蟒回家='/用户/皓/蟒蛇/斌/ Python的” –