0

Ich habe gerade versucht, eine einfache Django-Anwendung auf AWS Elastic Beanstalk gehostet zu schreiben. Ich kann den Server erfolgreich auf meinem localhost ausführen. Als ich es jedoch auf EB bereitstellen, schlug es mit einem Fehler 500 fehl.Django läuft erfolgreich auf localhost, aber 500 auf AWS EB

Hier ist mein Projektbaum

. 
├── README.md 
├── db.sqlite3 
├── djangosite 
│   ├── __init__.py 
│   ├── settings.py 
│   ├── urls.py 
│   └── wsgi.py 
├── intro 
│   ├── __init__.py 
│   ├── admin.py 
│   ├── apps.py 
│   ├── migrations 
│   │   └── __init__.py 
│   ├── models.py 
│   ├── tests.py 
│   └── views.py 
├── manage.py 
├── requirement.txt 
└── templates 
    └── index.html 

ich nicht das Protokoll mit der richtigen Zeit in den Protokollen gefunden. Normalerweise bedeutet 500, dass mit meinen Codes etwas nicht stimmt. Aber es läuft gut, wenn ich den Server lokal

$ python manage.py runserver 

ich eb ssh versucht uns starten die Instanz anmelden und finden gibt es keine django in /opt/current/app, wo meine Codes sitzen.

Aber ich wirklich Django == 1.9.8 zu requirement.txt hinzufügen. Es scheint eb nicht installiert django. Es ist auch nicht in /opt/python/run/venv/lib/python2.7/site-packages/.

+1

Haben Sie Django auf dem Server installiert? zum Beispiel, was importiert 'python -c 'django; print django.get_version() 'zurück? – Jason

Antwort

0

(ich habe nicht genug Ruf Kommentar)

Ich gehe davon aus, dass Sie Anwendung überhaupt auf dem Produktionsserver beginnt (Sie erwähnen nicht, ob heißt der Fall ist).

Haben Sie Debug = False auf dem Produktionsserver geändert? Dann verursachen nicht abgefangene Ausnahmen eine 500-Antwort. Während Sie in der Entwicklung (lokal) Debug = True haben, erhalten Sie den Debug-Bildschirm.