Я рассмотрел каждый аналогичный вопрос об этом и до сих пор не могу понять, что не так. Я пытаюсь настроить службу REST на Python на моем VPS рядом с моим сайтом wordpress. Я могу получить файл wsgi «Hello world» для запуска никаких проблем, но когда я указываю на мой wsgi-файл django rest, я получаю ошибку сервера 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'
Я вытягиваю свои волосы. Ваша помощь очень ценится.
См. Http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html для правильного способа настройки виртуальной среды Python с помощью mod_wsgi. Также временно включите '' DEBUG = True'' в файле настроек Django или настройте Django для записи исключений в поток '' stdout'', чтобы вы могли видеть, какая ошибка, которую генерирует ваш код приложения Django, когда возвращается 500. –
Thank вы за свой ответ! К сожалению, если это была проблема, было еще много исправления. – Angus