的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".
感谢。
你必须定义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()
我可以使用python为“python-home”实际安装的目录吗? –
没有使用虚拟环境或机器级别 – Robert
我使用“哪个python”来获取python的路径。 但它仍显示“WSGI守护进程定义的无效选项”。并得到了错误的行是“WSGIDaemonProcess local.Test蟒回家='/用户/皓/蟒蛇/斌/ Python的” –
是你项目的本地主机的Apache配置前运行? – Exprator
你有没有看过Apache错误日志,看看那里列出了哪些错误? –
@Exprator是的,我可以运行项目中使用“蟒蛇manage.py runserver命令” –