500 mod_wsgi和django rest发生内部服务器错误
问题描述:
我已经查看过有关此问题的所有类似问题,但仍无法找出问题所在。我尝试在我的VPS和我的WordPress站点上设置一个Python REST服务。我可以得到一个“Hello world”wsgi文件运行没有问题,但是当我指向我的django rest wsgi文件时,出现500服务器错误。500 mod_wsgi和django rest发生内部服务器错误
我的WordPress站点位于/var/www/html/mysite/public_html
,其余服务位于/ var/www/html/mysite/myrest。 www-data拥有mysite文件夹中的所有内容。我已经安装了所有依赖项,并且使用python manage.py runserver
开始项目,以确保它不会丢失任何东西。
这是我的wsgi文件。
import os
import sys
import site
site.addsitedir('/var/www/html/mysite/myrest/lib/python2.7/site-packages')
sys.path.append('/var/www/html/mysite/myrest')
os.environ['PYTHON_EGG_CACHE'] = '/var/www/html/mysite/.python-egg'
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
之前,它没有足够的site.addsitedir
的东西,因为我尝试了不同的解决方案,得到了补充。
在apache日志中有一些奇怪的事情发生,但我无法理解它。
[Sun Feb 19 20:39:33.697146 2017] [core:notice] [pid 26048] AH00094: Command line: '/usr/sbin/apache2'
[Sun Feb 19 20:41:30.804083 2017] [mpm_prefork:notice] [pid 26048] AH00169: caught SIGTERM, shutting down
[Sun Feb 19 20:41:31.707014 2017] [wsgi:warn] [pid 26721] mod_wsgi: Compiled for Python/2.7.11.
[Sun Feb 19 20:41:31.707037 2017] [wsgi:warn] [pid 26721] mod_wsgi: Runtime using Python/2.7.12.
[Sun Feb 19 20:41:31.709784 2017] [mpm_prefork:notice] [pid 26721] AH00163: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/2.7.12 configured -- resuming normal operations
[Sun Feb 19 20:41:31.709801 2017] [core:notice] [pid 26721] AH00094: Command line: '/usr/sbin/apache2'
我拉我的头发。非常感谢您的帮助。
答
问题出在我的settings.py文件中。我设法通过在settings.py中的各个地方放置
import django
django.setup()
来进行调试。
有关使用mod_wsgi设置Python虚拟环境的正确方法,请参阅http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html。在Django设置文件中暂时启用''DEBUG = True'',或者配置Django将异常记录到''stdout''流中,这样您就可以看到当返回500时Django应用程序代码生成的错误。 –
你的回应!不幸的是,如果这是问题,还有更多需要解决的问题。 – Angus