2017-02-20 148 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() 

來進行調試。