2017-09-19 91 views
0

我得到了「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命令」 –

回答

0

你必須定義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的」 –

相關問題