0

Je viens d'essayer d'écrire une simple application Django hébergée sur AWS Elastic Beanstalk. Je peux exécuter le serveur avec succès sur mon localhost. Cependant, quand je le déploie sur EB, il a échoué avec une erreur 500.Django s'exécute avec succès à localhost mais 500 sur AWS EB

Voici mon arbre projet

. 
├── 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 

Je n'ai pas trouvé le journal avec l'heure dans les journaux. Habituellement 500 signifie qu'il peut y avoir quelque chose de mal avec mes codes. Mais il fonctionne bien si je commence le serveur local

$ python manage.py runserver 

Je nous ai essayé de se connecter eb ssh l'instance et trouver il n'y a pas django dans /opt/current/app où mes codes sont assis.

Mais j'ajoute vraiment Django == 1.9.8 à requirement.txt. Il semble que eb ne soit pas installé django. Il n'est pas non plus dans /opt/python/run/venv/lib/python2.7/site-packages/.

+1

Avez-vous installé django sur le serveur? par exemple, qu'est-ce que 'python -c 'importe django; print django.get_version() 'retourner? – Jason

Répondre

0

(je n'ai pas assez réputation pour commenter)

Je suppose que vous êtes application démarre tout sur le serveur de production (vous ne mentionnez pas que vous ayiez fait).

Avez-vous modifié Debug = False sur le serveur de production? Puis les exceptions non interceptées provoquent une réponse 500. Tout en ayant Debug = True en développement (localement) vous renvoie l'écran Déboguer.