2017-02-20 11 views
0

私はこれに関するすべての同様の質問を見てきましたが、何が間違っているか把握できません。私は私のWordPressのサイトの横に私のVPSで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''を有効にするか、 '' stdout''ストリームに例外を記録するようにDjangoを設定して、あなたのDjangoアプリケーションコードが500を返すときにどのエラーが発生しているのかを確認できます。 –

+0

あなたの応答のために!残念ながら、それが問題であった場合は、さらに修正する必要がありました。 – Angus

答えて

0

問題はsettings.pyファイルにあります。私はそれを設定することによってそれをデバッグすることができました

import django 
django.setup() 

settings.pyの各所にあります。

関連する問題