Ho cercato per diversi giorni di installare Django sotto l'Elastic Beanstalk di Amazon Web Services. Credo che il problema mi colpisce è questa:Impostazione di Django su AWS Elastic Beanstalk: WSGIPath non trovato
ERROR - Your WSGIPath refers to a file that does not exist.
Ho seguito il tutorial here e tutto va bene fino alla fine del passaggio 6, ma non posso per la vita di me ottenere qualche cosa per visualizzare altre rispetto alla pagina generica Elastic Beanstalk del Passaggio 5, n. 2. Quando corro
./manage.py runserver
sul mio computer locale, tutto funziona come dovrebbe, ma non riesco a ottenere quella pagina da distribuire. Ho provato per la prima volta con un piccolo sito Django che ho scritto io stesso. Non ha funzionato, quindi ho cancellato tutto ciò che avevo fatto e provato di nuovo, non funzionava, quindi ho cancellato tutto e ho provato di nuovo con una nuova installazione di django. Ho provato un sacco di volte a trafficare con piccole cose, ma penso che mi manchi qualcosa di importante.
Ho aggiunto un file python.config come descritto in this tutorial.
Ecco la mia struttura dei file:
-.git/
-.mysite/
-myapp/
-__init__.py
-models.py
-tests.py
-views.py
-mysite/
-__init__.py
-settings.py
-urls.py
-wsgi.py
-.ebextensions/
-python.config
-manage.py
-mysite.db
-requirements.txt
Dal mio settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mysite.db',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
Ecco python.config:
container_commands: 01_syncdb:
command: "django-admin.py syncdb --noinput"
leader_only: true
option_settings:
- namespace: aws:elasticbeanstalk:container:python
option_name: WSGIPath
value: mysite/wsgi.py
- option_name: DJANGO_SETTINGS_MODULE
value: mysite.settings
- option_name: AWS_SECRET_KEY
value: <This is my secret key>
- option_name: AWS_ACCESS_KEY_ID
value: <This is my access key>
c'è un altro posto ho bisogno di definire la mia WSGIPath? C'è un modo per farlo attraverso la console AWS? Dovrei semplicemente saltare completamente EB e usare EC2 direttamente?
Questo problema è stato risolto come dettagliato [qui] (https://forums.aws.amazon.com/thread.jspa?messageID=396656). Stavo memorizzando tutto il codice in una directory, e ho zippato (e caricato) l'intera directory.Quello che avrei dovuto fare era zippare tutti i file rilevanti in quella directory piuttosto che nella directory stessa, così quando decomprimeranno i file saranno tutti nella directory principale del sito. Spero che questo aiuti qualcun altro con lo stesso problema. Penso di essermi imbattuto nello stesso problema caricando tramite la GUI e via git. – Xephryous
Non dovresti modificare la domanda ma aggiungere la tua risposta e accettarla. – bikeshedder
Si prega di prendere in considerazione che le modifiche non salvate non verranno distribuite, quindi è necessario avere tutte le modifiche sulla cartella ".ebextensions" impegnata per distribuirla con EB CLI. – nisevi