2017-02-20 149 views
0

我已经查看过有关此问题的所有类似问题,但仍无法找出问题所在。我尝试在我的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' 

我拉我的头发。非常感谢您的帮助。

+0

有关使用mod_wsgi设置Python虚拟环境的正确方法,请参阅http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html。在Django设置文件中暂时启用''DEBUG = True'',或者配置Django将异常记录到''stdout''流中,这样您就可以看到当返回500时Django应用程序代码生成的错误。 –

+0

你的回应!不幸的是,如果这是问题,还有更多需要解决的问题。 – Angus

回答

0

问题出在我的settings.py文件中。我设法通过在settings.py中的各个地方放置

import django 
django.setup() 

来进行调试。